union() 函数
union()
将两个或多个输入流合并成一个单一的输出流。
union()
的输出模式是所有输入模式的并集。 union()
不会保留表内行的排序顺序。 如果您需要特定的排序顺序,请使用 sort()
。
Union 与 join 的比较
union()
不会修改行中的数据,而是将独立的表流联合成一个单一的表流,并根据现有的组键对数据行进行分组。 join()
基于一个或多个指定列中的公共值创建新行。 输出行还包含来自每个连接流的不同值。
函数类型签名
(tables: [stream[A]]) => stream[A] where A: Record
有关更多信息,请参阅 函数类型签名。
参数
tables
(必需) 要联合在一起的两个或多个表流的列表。
示例
联合具有唯一组键的两个表流
import "generate"
t1 =
generate.from(
count: 4,
fn: (n) => n + 1,
start: 2022-01-01T00:00:00Z,
stop: 2022-01-05T00:00:00Z,
)
|> set(key: "tag", value: "foo")
|> group(columns: ["tag"])
t2 =
generate.from(
count: 4,
fn: (n) => n * (-1),
start: 2022-01-01T00:00:00Z,
stop: 2022-01-05T00:00:00Z,
)
|> set(key: "tag", value: "bar")
|> group(columns: ["tag"])
union(tables: [t1, t2])
联合具有空组键的两个表流
import "generate"
t1 =
generate.from(
count: 4,
fn: (n) => n + 1,
start: 2021-01-01T00:00:00Z,
stop: 2021-01-05T00:00:00Z,
)
|> set(key: "tag", value: "foo")
|> group()
t2 =
generate.from(
count: 4,
fn: (n) => n * (-1),
start: 2021-01-01T00:00:00Z,
stop: 2021-01-05T00:00:00Z,
)
|> set(key: "tag", value: "bar")
|> group()
union(tables: [t1, t2])
此页对您有帮助吗?
感谢您的反馈!