2
我在Spark中嘗試使用aggregate
和reduce
來生成大型數據集。我注意到這部分縮減是在我的driver
中執行的。根據MLLib博客,他們已經設法實施bubbling
,即。一旦工人減少了每個工作人員,然後將縮減階段移至工作人員子集,直至最終將其委託給驅動程序。是否強制Spark Aggregate/Reduce「冒泡」?
在我的使用案例中,我有580個分區沒有太多共同的條目,即。每個分區大小爲2GB,但所有分區聚合也是2GB。由於driver
正在將分區的縮減委託給driver
,所以我得到了一個OOME。我錯過了一個可以做到這一點的API調用,或者是通過應用增量repartitioning
來強制執行此行爲的最佳方法嗎?
TNX
你能發表一些代碼嗎?您是否嘗試增加作業配置中的驅動程序內存? –