【发布时间】:2023-01-14 12:04:47
【问题描述】:
为了在 pyspark 中获得更高效的连接,我想同时在多个列上重新分区我的数据帧。
这不是 repartition 函数已经做的。例如,如果我在列 'c1' 和 'c2' 上进行分区,则 reparition 函数仅确保具有值对 (c1, c2) 的所有行都属于同一分区。相反,我想要一个分区,以确保所有具有相同值 c1 的行都落在同一个分区上,并且 c2 也是如此。
有了这个,我想在 c1 上进行连接时优化我的管道,然后在 c2 上进行另一个连接,而不必重新分配(隐式或显式)2 次。
有可能实现这一目标吗?
【问题讨论】:
标签: python python-3.x apache-spark pyspark apache-spark-sql