Apache flink 如何在每个分区内使用自定义分区器进行分区?
我想使用自定义分区器对数据进行分区,并将数据集与其自身交叉,以在每个分区内生成数据的笛卡尔积Apache flink 如何在每个分区内使用自定义分区器进行分区?,apache-flink,Apache Flink,我想使用自定义分区器对数据进行分区,并将数据集与其自身交叉,以在每个分区内生成数据的笛卡尔积 DataSet<Tuple2<Integer, String>> partitionedData = data.partitionCustom(new MyPartitioner(), 0); DataSet<Tuple2<Tuple2<Integer, String>, Tuple2<Integer, String
DataSet<Tuple2<Integer, String>> partitionedData =
data.partitionCustom(new MyPartitioner(), 0);
DataSet<Tuple2<Tuple2<Integer, String>, Tuple2<Integer, String>>> crossedData = data.cross(data);
下面的代码在所有数据集上运行交叉运算符,但我正在寻找一种解决方案,以便在每个分区和分区内都这样做
DataSet<Tuple2<Integer, String>> partitionedData =
data.partitionCustom(new MyPartitioner(), 0);
DataSet<Tuple2<Tuple2<Integer, String>, Tuple2<Integer, String>>> crossedData = data.cross(data);
数据集分区数据=
data.partitionCustom(新的MyPartitioner(),0);
DataSet crossedData=data.cross(数据);
cross
将始终在完整的数据集上计算交叉运算。您可以在mapPartition
操作中计算部分交叉,在该操作中,您可以自己执行交叉,也可以为每个元素分配一个特定于分区的标识符,并在此字段上进行连接。cross
将始终计算整个数据集的交叉操作。您可以在mapPartition
操作中计算部分交叉,在该操作中,您可以自己执行交叉,或者为每个元素分配一个特定于分区的标识符,并在该字段上联接。