join 和 coGroup 转换可以读取 2 个输入数据集并输出一个(“Y”通量)(如果我错了,请纠正我)。
我想处理和更新 2 个数据集。为此,我计划使用 2 个coGroup
转换。
但是,出于性能目的,这两种转换可以在一个单一的(“H”通量)中完成吗?
此外,随着数据集的更新,我想对它们进行迭代。如果目前无法实现,您是否计划在未来支持这种转变?
join 和 coGroup 转换可以读取 2 个输入数据集并输出一个(“Y”通量)(如果我错了,请纠正我)。
我想处理和更新 2 个数据集。为此,我计划使用 2 个coGroup
转换。
但是,出于性能目的,这两种转换可以在一个单一的(“H”通量)中完成吗?
此外,随着数据集的更新,我想对它们进行迭代。如果目前无法实现,您是否计划在未来支持这种转变?
所有 Flink DataSet 算子都只支持一个输出,但一个算子的输出可以被两个或多个后续算子消费。
有两种方法可以解决您的问题:
Tuple2<FirstType, SecondType>
. 这个解决方案看起来像:input1--\ /--> Filter_output1 联合集团 input2--/ \--> Filter_output2
input1 --> PartitionHash --> SortPartition -\-/-> CoGroup1 --> Output1 X input2 --> PartitionHash --> SortPartition -/-\-> CoGroup2 --> Output2
关于迭代,请查看 Flink 的迭代运算符。