簡體   English   中英

Spark Aggregatebykey分區程序順序

[英]Spark Aggregatebykey partitioner order

如果我將哈希分區程序應用於Spark的aggregatebykey函數,即myRDD.aggregateByKey(0, new HashPartitioner(20))(combOp, mergeOp)

在使用combOp和mergeOp聚合鍵/值對之前,myRDD是否會先進行重新分區? 還是myRDD首先通過combOp和mergeOp,然后使用HashPartitioner對生成的RDD進行重新分區?

aggregateByKey在最終洗牌之前應用地圖端聚合。 由於每個分區都是按順序處理的,因此在此階段應用的唯一操作是初始化(創建zeroValue )和combOp mergeOp的目標是合並聚合緩沖區,因此在混洗之前不使用它。

如果輸入RDD是ShuffledRDD與同分區的請求aggregateByKey則數據根本沒有被洗牌和數據使用本地聚集mapPartitions

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM