使用spark指定分区大小

时间:2017-07-28 10:10:19

标签: scala apache-spark rdd

我正在使用spark来处理大文件,我有12个分区。 我有rdd1和rdd2我在它们之间进行连接,而不是选择(rdd3)。 我的问题是,我咨询过最后一个分区比其他分区太大,从分区1到分区11 45000 recodrs但是分区12 9100000 recodrs。 所以我分了9100000 / 45000 =~ 203。我将我的rdd3重新分配到214(203+11) 但我最后的分区仍然太大了。 我如何平衡分区的大小?

我自己编写自定义分区程序?

1 个答案:

答案 0 :(得分:1)

  

我有rdd1和rdd2我在他们之间进行连接

join是最昂贵的操作是Spark。为了能够通过键加入,您必须随机播放值,如果键不均匀分布,则会得到描述的行为。在这种情况下,自定义分区程序无法帮助您。

我会考虑调整逻辑,因此不需要完全连接。