2014-09-30 54 views
0

我正在嘗試編寫Spark應用程序,該應用程序可以找到在map函數中創建的鍵的數量。我找不到可以讓我這樣做的功能。如何找到在地圖部分創建的鍵的數量?

我想過的一種方法是使用累加器,我會在reduce函數中將累加器變量加1。我的想法是基於累加器變量作爲計數器在節點間共享的假設。

請指導。

回答

0

如果您看起來像Spark中的Hadoop計數器,最準確的近似值是您可以在每個任務中增加的累加器,但是您沒有任何關於Spark迄今爲止處理的數據量的信息。

如果您只想知道您的rdd中有多少個不同的密鑰,那麼您可以執行類似於不同映射密鑰的計數(rdd.map(t => t_1))。distinct.count)

希望這會對你有用

相關問題