为什么Spark的重新分区没有将数据平衡到分区中?

2023-12-14

>>> rdd = sc.parallelize(range(10), 2)
>>> rdd.glom().collect()
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
>>> rdd.repartition(3).glom().collect()
[[], [0, 1, 2, 3, 4], [5, 6, 7, 8, 9]]
>>>

第一个分区是空的?为什么?我真的很感谢你告诉我原因。


发生这种情况是因为 Spark 不会打乱单个元素,而是打乱数据块 -最小批量大小等于 10.

因此,如果元素少于每个分区的元素,Spark 将不会分离分区的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Spark的重新分区没有将数据平衡到分区中? 的相关文章

随机推荐