Apache flink Flink:如何在一次转换中处理和输出两个数据集?
join和coGroup转换可以读取2个输入数据集并输出一个(“Y”通量)(如果我错了,请纠正我) 我想处理和更新2个数据集。为此,我计划使用2个Apache flink Flink:如何在一次转换中处理和输出两个数据集?,apache-flink,Apache Flink,join和coGroup转换可以读取2个输入数据集并输出一个(“Y”通量)(如果我错了,请纠正我) 我想处理和更新2个数据集。为此,我计划使用2个coGroup转换 但是,出于性能目的,这两种转换能否在单个转换(“H”通量)中完成 此外,随着数据集的更新,我想对它们进行迭代。如果当前不可能,您是否计划在将来支持此类转换?所有Flink DataSet运算符都只支持一个输出,但一个运算符的输出可以由以下两个或更多运算符使用 有两种方法可以解决您的问题: 使用单个CoGroup计算两个输出的结果,并
coGroup
转换
但是,出于性能目的,这两种转换能否在单个转换(“H”通量)中完成
此外,随着数据集的更新,我想对它们进行迭代。如果当前不可能,您是否计划在将来支持此类转换?所有Flink DataSet运算符都只支持一个输出,但一个运算符的输出可以由以下两个或更多运算符使用 有两种方法可以解决您的问题:
Tuple2
。此解决方案看起来像:关于迭代,请看一下Flink的。感谢Fabian的回答和示例。 input1--\ /--> Filter_output1 CoGroup input2--/ \--> Filter_output2 input1 --> PartitionHash --> SortPartition -\-/-> CoGroup1 --> Output1 X input2 --> PartitionHash --> SortPartition -/-\-> CoGroup2 --> Output2