gpt4 book ai didi

apache-flink - apache Flink 中的重叠分区

转载 作者:行者123 更新时间:2023-12-03 01:00:20 25 4
gpt4 key购买 nike

在 Apache Flink 中使用自定义分区器时,我想将数据集的某些元素分配给多个分区。目前,我尝试复制这些元素并将每个元素分配给一个簇。我想知道有什么办法可以做到吗?如果不是,复制数据集子集的有效方法是什么?

最佳答案

为了生成重叠分区,您首先必须复制元素。如果您知道要复制哪些元素,则可以使用 flatMap 操作来完成此操作。由于您想要将重复的元素分配给不同的分区,因此最好在 flatMap 操作中分配分区 ID。然后您可以根据此 ID 应用分区步骤。

给定一个输入数据集input: DataSet[IN],您会生成一个重复的数据集duplicated: DataSet[(Int, IN)],其中包含原始数据的元组输入元素及其相应的分区 ID。然后,您可以在第一个元组字段上应用分区。

val duplicatedDS: DataSet[(Int, IN)] = input.flatMap(x => duplicateElement(x))
val partitioned = duplicatedDS.partitionByHash(0)

关于apache-flink - apache Flink 中的重叠分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34674559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com