使用pyspark foreachPartition,但保留特定分区的变量



我有一个要求,每个Spark Worker在迭代之间保留其变量。该变量是一个结构太大而无法包含在每个RDD中。我可以使用foreachPartition,但是没有一个机制可以通过每个分区一次传递一些变量(然后将其传递给)。即使使用相同的ID,对分区的调用之间也没有连续性。重复广播太贵了。有人知道一种解决这个问题的方法吗?

您可以在这些变量的数组中发送,并使用partition_id来访问值以获得连续性。

最新更新