我有 :
A_RDD = anRDD.map()
B_RDD = A_RDD.aggregateByKey()
好吧,我的问题是:
如果我把partitionBy(新HashPartitioner)A_RDD之后,如:
A_RDD = anRDD.map().partitionBy(new HashPartitioner(2))
B_RDD = A_RDD.aggregateByKey()
1)请问这是相同有效,因为如果我离开它,因为它是,摆在首位? aggregateByKey()将使用hashPartitioner从A_RDD,对不对?
2)或者如果我在第一个例子离开它,aggregateByKey()将重点首先汇总每个分区,然后发送每一个 “聚合”(键,值)对以更有效的方式,以正确的分区?
3)为什么不映射,flatMap等变换的RDDS不能采取对如何划分(键,值)对飞对的说法? 我的意思地图()操作过程中,例如在每一个元组可以说,=>也该元组发送到已经在地图上指定的前一个分区的参数特定分区:地图(,分区程序)。
我试图把握aggregateByKey()它是如何工作的概念,但每次我想我这时候,一个新的问题出现了...在此先感谢。