experimental.chain() function

The experimental.chain() function is subject to change at any time. By using this function, you accept the risks of experimental functions.

The experimental.chain() function runs two queries in a single Flux script sequentially and outputs the results of the second query. Flux typically executes multiple queries in a single script in parallel. Running the queries sequentially ensures any dependencies the second query has on the results of the first query are met.

Applicable use cases
  • Writing to a bucket and querying the written data in a single Flux script or InfluxDB task.
  • Execute queries sequentially in testing scenarios.

*Function type: Miscellaneous*

  1. import "experimental"
  2. experimental.chain(
  3. first: query1,
  4. second: query2
  5. )

Parameters

first

The first query to execute.

*Data type: Stream of tables*

second

The second query to execute.

*Data type: Stream of tables*

Examples

Write to a bucket and query the written data

  1. import "experimental"
  2. downsampled_max = from(bucket: "example-bucket-1")
  3. |> range(start: -1d)
  4. |> filter(fn: (r) => r._measurement == "example-measurement")
  5. |> aggregateWindow(every: 1h, fn: max)
  6. |> to(bucket: "downsample-1h-max", org: "example-org")
  7. average_max = from(bucket: "downsample-1h-max")
  8. |> range(start: -1d)
  9. |> filter(fn: (r) => r.measurement == "example-measurement")
  10. |> mean()
  11. experimental.chain(
  12. first: downsampled_max,
  13. second: average_max
  14. )