Flink:如何在合并其他数据流后获取价值?

时间:2018-06-29 02:59:15

标签: apache-flink flink-streaming

例如

我有两个分别名为ds1和ds2的DataStream<Tuple4<String, String, Date, String>>DataStream ds3 = ds1.union(ds2)。然后我想知道如何从ds3中获取ds1.f2ds2.f2的值。

谢谢。

1 个答案:

答案 0 :(得分:0)

Flink中的流联合与多集上的联合操作相同-您将获得更大的流,它将包含来自两个输入流的所有元素。

因此,换句话说,联合不是联接。 ds3.f2是先前在其中一个流中的某些Tuple的ds1.f2或ds2.f2的值。

根据要完成的任务,可以在每个元组中添加第五个元素,以便知道其来源。或者,您可能宁愿使用某种Join操作来合并两个流。请参见window joinstable joinssql joinslow-level joins的文档。