data.rdd.getNumPartitions() # output 2456
然后我做
data.rdd.repartition(3000)
但是
data.rdd.getNumPartitions()
# 输出仍然是2456
如何更改分区数。一种方法是先将 DF 转换为 rdd,重新分区,然后将 rdd 转换回 DF。但这需要很多时间。分区数量的增加是否也会使操作更加分散且速度更快?谢谢
原文由 Neo 发布,翻译遵循 CC BY-SA 4.0 许可协议
data.rdd.getNumPartitions() # output 2456
然后我做
data.rdd.repartition(3000)
但是
data.rdd.getNumPartitions()
# 输出仍然是2456
如何更改分区数。一种方法是先将 DF 转换为 rdd,重新分区,然后将 rdd 转换回 DF。但这需要很多时间。分区数量的增加是否也会使操作更加分散且速度更快?谢谢
原文由 Neo 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答884 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
您可以检查分区数:
要更改分区数:
您可以检查分区数:
重新分区时要小心数据混洗,这很昂贵。如果需要,请查看
coalesce
。