【发布时间】:2021-10-15 20:58:28
【问题描述】:
我有一张巨大的桌子,我的 spark 工作一直在崩溃。我想重新分区。我有两个变量(id、time),我需要确保具有给定id 的所有行都将被分配给同一个工作人员。但我有数亿个唯一 ID。 我希望 pyspark 均匀分布数据,但尊重给定 ID 的所有行都应该在一个工作人员上。我可以简单地做吗:
df.repartition("id")
documentation 似乎暗示了这一点。但我想知道 spark 现在是否会将作业划分为数亿个子集,并且一次只向每个工作人员发送一个子集(即一个 id 的数据)。这当然是非常低效的。
我正在使用 Spark 2.4.0-cdh6.2.1
【问题讨论】:
标签: python apache-spark pyspark partitioning