簡體   English   中英

從javaPairRDD獲取最高密鑰

[英]get the highest key from a javaPairRDD

我有一個名為“ rdd”的javaPairRDD,其元組定義為:

 <Integer,String[]> 

我想使用max()函數提取最高的鍵,但是它需要一個Comparator作為參數,請給我一個示例如何做,請!

例:

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

在應用rdd.max(....)之后,它給了我:

 int max_key=22;

請幫助我...在java中

您的方法行不通,因為元組沒有固有的順序。

您想要做的就是獲得最大的鑰匙數。 最簡單的方法是提取密鑰,然后像這樣獲得最大值

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

注意:由於不是javaSpark用戶,因此語法可能有點不正確。

即使@David的回答是如此邏輯,它對我也不起作用,並且始終需要一個Comparator,並且當我使用Comparator時,它出現了一個異常(不是可序列化的操作,因此我嘗試使用Ordering,但這一次max-key是1(實際上是最小),所以最后,我使用了有史以來最簡單的方法,對我的pairRDD進行了后代排序,然后提取了first()元組。

int max-key = rdd.first()._ 1;

暫無
暫無

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

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