2016-07-22 32 views
0

獲得的最高鍵我有一個javaPairRDD叫做「RDD」,它的元組定義爲:從javaPairRDD

<Integer,String[]> 

我想用MAX()函數來提取的最高鍵,但它需要一個比較作爲的論點,你會給我一個例子如何做到這一點,請!

example:

rdd={(22,[ff,dd])(8,[hh,jj])(6,[rr,tt]).....} 

應用rdd.max(....)之後,給前人的精力我:

int max_key=22; 

請幫助我...在java中請

回答

1

你的方法ISN不工作,因爲元組沒有固有的順序。

你想要做的是獲得最大的密鑰。要做到這一點,最簡單的方法是提取鍵,然後得到最大像這樣

keyRdd = rdd.keys() 
max_key = keyRdd.max() 

注:不是javaSpark用戶,所以語法可能有點過。

+0

好吧我會嘗試一下謝謝 – ham

+0

我試過了... javaRDD keyRDD = rdd.keys()但是同樣的問題當我使用max()它得到這個錯誤:方法最大(比較器 )在類型javaRDD中不適用於參數() – ham

0

即使@大衛的回答是如此的邏輯它不適用於我,它總是需要一個比較器,當我使用比較器它似乎是一個異常(不serialisable操作,所以我嘗試與訂購,但這次max-key是1(實際上意思是min),所以最後,我用了最簡單的方法,我將我的pairRDD排序後,然後我提取第一個()元組。 )._ 1;

相關問題