私はPairRDD rdd1
に整数キーと整数[]の値を持っています。spark - 別のRDDの変換で(Java)PairRDDのキーと値を調べる方法
また、整数キーとDouble値を持つPairRDD rdd2
もあります。
キー内の各整数AND rdd1
の値は、キーとしてrdd2
にも存在します。
私はx
のdouble値と各整数y1
、y2
、...、yn
のすべてのdouble値を取得するためにrdd1
の各ペア(x, [y1,y2,...,yn])
のためにしたいです。
をMap<Integer,Double>
(map2
)として収集しようとしましたが、メモリに収まらず、OOMエラーが発生します。また、rddに参加しようとしましたが、キーと値の両方を結合する方法を理解できませんでした。 rdd2
のlookup()
メソッドをrdd1
の内部で使用することはできません。 y
の各yi
ため
map each (int x, int[] y) in rdd1 to:
(x, map2.get(x) + sum(map2.get(yi)))
:
私が何をしたいの擬似コードは次のようです。
私はJavaを使用していますが、JavaとScalaの両方で同じ問題が発生していると思います。