问题描述
这里是一个例子。单元44的输出显示了不同键的计数,但是当我在单元45中找到分区大小时,它将3和5组合在一起。同样,保存一个分区的大小仍然为零。任何帮助将不胜感激。

解决方法
默认情况下,Spark将HashPartitioner应用于列overint
的值。显然,值3
和5
在经过散列处理后属于同一分区。
您可能要选择RangePartitioner。或者,如果需要完全的灵活性,还可以编写定制Partitioner
类。但是,仅在RDD API上可用,而在结构化API上不可用。