experimental.join() 函数
experimental.join() 随时可能更改。
experimental.join() 在组键和 _time 列上连接两个表流。
已弃用
experimental.join() 已弃用,推荐使用 join.time()。join 包为多种连接方法提供支持。
使用 fn 参数,使用输入表中的值映射新的输出表。
注意:要连接具有不同字段或度量值的表流,请使用 group() 或 drop() 从组键中删除 _field 和 _measurement,然后再进行连接。
函数类型签名
(fn: (left: A, right: B) => C, left: stream[A], right: stream[B]) => stream[C] where A: Record, B: Record, C: Record
有关更多信息,请参阅函数类型签名。
参数
left
(必需)要连接的两个表流中的第一个。
right
(必需)要连接的两个表流中的第二个。
fn
(必需)具有 left 和 right 参数的函数,该函数使用 left 和 right 输入记录中的值映射新的输出记录。返回值必须是记录。
示例
连接两个表流
import "array"
import "experimental"
left =
    array.from(
        rows: [
            {_time: 2021-01-01T00:00:00Z, _field: "temp", _value: 80.1},
            {_time: 2021-01-01T01:00:00Z, _field: "temp", _value: 80.6},
            {_time: 2021-01-01T02:00:00Z, _field: "temp", _value: 79.9},
            {_time: 2021-01-01T03:00:00Z, _field: "temp", _value: 80.1},
        ],
    )
right =
    array.from(
        rows: [
            {_time: 2021-01-01T00:00:00Z, _field: "temp", _value: 75.1},
            {_time: 2021-01-01T01:00:00Z, _field: "temp", _value: 72.6},
            {_time: 2021-01-01T02:00:00Z, _field: "temp", _value: 70.9},
            {_time: 2021-01-01T03:00:00Z, _field: "temp", _value: 71.1},
        ],
    )
experimental.join(
    left: left,
    right: right,
    fn: (left, right) =>
        ({left with lv: left._value, rv: right._value, diff: left._value - right._value}),
)
连接具有不同字段和度量值的两个表流
import "experimental"
s1 =
    from(bucket: "example-bucket")
        |> range(start: -1h)
        |> filter(fn: (r) => r._measurement == "foo" and r._field == "bar")
        |> group(columns: ["_time", "_measurement", "_field", "_value"], mode: "except")
s2 =
    from(bucket: "example-bucket")
        |> range(start: -1h)
        |> filter(fn: (r) => r._measurement == "baz" and r._field == "quz")
        |> group(columns: ["_time", "_measurement", "_field", "_value"], mode: "except")
experimental.join(
    left: s1,
    right: s2,
    fn: (left, right) => ({left with bar_value: left._value, quz_value: right._value}),
)
此页面是否对您有帮助?
感谢您的反馈!
