2016-07-18 6 views
1

私は2つのDStreamを持っています。 A:DStream[X]B:DStream[Y]としましょう。ScalaでSpark Streamingで2つのDStreamのデカルト積を得るには?

が、私は他の言葉で、それらのデカルト積を取得したい、XY値のすべてのペアを含む新しいC:DStream[(X, Y)]

RDDにはcartesian機能があります。私はthis similar questionしか見つけることができませんでしたが、それはJavaであり、私の質問には答えません。

+0

です。 'A:DStream [(String、Int)]'は、それぞれに関連付けられた計算値を持つ用語の集合です。 'B:DStream [Int]'は 'count'関数の結果です。したがって、整数値は1つだけです。 Aからの整数値とBからの整数値を使って何かを計算したいと思います。 AとBのデカルト積を得ることによって、Aの各レコードにBの値を加えた新しいDStreamを取得します。私の結果を地図で計算することができます。 注文は関係ありません。 私はSparkとScalaの非常に新しいユーザーです。私が間違っていれば、より良い方法を教えてください。 – Coukaratcha

答えて

1

(そこに使用されていないTime v3を無視して、)リンク質問の答えのScalaの同等はもちろん

A.transformWith(B, (rddA: RDD[X], rddB: RDD[Y]) => rddA.cartesian(rddB)) 

または短い

A.transformWith(B, (_: RDD[X]).cartesian(_: RDD[Y])) 
+0

ありがとうございました。それは私の期待に完全に合っています。 – Coukaratcha

+0

その場合、答えを受け入れる必要があります。 –

関連する問題