5
スパークRDDの各ユニークキーに関連付けられた最大行(値)を返す最適な方法は何ですか?Spark RDDの各キーの最大値を取得
私はPythonを使用しています。私はMath maxを試してみました。マッピングとキーと集計による縮小です。これを行う効率的な方法はありますか?おそらくUDFですか?
私はRDD形式で持っている:
[(v, 3),
(v, 1),
(v, 1),
(w, 7),
(w, 1),
(x, 3),
(y, 1),
(y, 1),
(y, 2),
(y, 3)]
そして、私は返す必要があります:
[(v, 3),
(w, 7),
(x, 3),
(y, 3)]
ネクタイは、最初の値またはランダムに返すことができます。
あなたにもJavaでこれを行う方法を与えることができますか?私はJavaを使っていて、まったく同じものを探しています – tsar2512
@ tsar2512 Java 8の場合、これはうまくいくかもしれません: 'new JavaPairRDD(rdd).reduceByKey((v1、v2) - > Math.max(v1、v2));' –
応答のおかげで、残念ながら、私はJava 7を使用しています - それはラムダ機能を許可していません。通常、匿名の関数を記述する必要があります。 Java 7の解決策を教えてください。私は単純なコンパレータ関数が動作する必要がありますsuspext! – tsar2512