experimental.chain() 函数
experimental.chain() 是 随时可能发生变化。
experimental.chain() 在单个 Flux 脚本中顺序地运行两个查询,并输出第二个查询的结果。
Flux 通常在单个脚本中并行执行多个查询。 顺序运行查询确保第二个查询对第一个查询结果的任何依赖得到满足。
适用的使用案例
在单个 Flux 脚本中写入一个 InfluxDB 桶并查询写入的数据。
_注意:
experimental.chain()并不保证写入到 InfluxDB 的数据会立即可查询。在数据写入与可查询之间的延迟可能导致使用experimental.chain()的查询失败。在测试场景中顺序执行查询。
函数类型签名
(first: stream[A], second: stream[B]) => stream[B] where A: Record, B: Record
有关更多信息,请参见 Function type signatures。
参数
第一次
(必填) 要执行的第一个查询。
第二
(必填) 要执行的第二个查询。
示例
写入一个桶并查询写入的数据
import "experimental"
downsampled_max =
from(bucket: "example-bucket-1")
|> range(start: -1d)
|> filter(fn: (r) => r._measurement == "example-measurement")
|> aggregateWindow(every: 1h, fn: max)
|> to(bucket: "downsample-1h-max", org: "example-org")
average_max =
from(bucket: "downsample-1h-max")
|> range(start: -1d)
|> filter(fn: (r) => r.measurement == "example-measurement")
|> mean()
experimental.chain(first: downsampled_max, second: average_max)