2017-04-27 14 views
0

私はスパークとスパークストリーミングの新人です。それは私が実際にそれを働かせる方法を本当に理解していないようです。JavaPairDstreamからリストを抽出する方法は?

私はTuple2<Integer,List<Integer>>を含むJavaPairDstreamを持っています。最初のIntegerはセンサーIDで、リストはセンサーの読み取り値です。 センサーの読み値の平均を計算できるように、リスト要素を抽出する必要があります。

foreachRDDを使用しようとしましたが、動作しませんでした。誰かがコードスニペット、擬似コードまたはいくつかのガイダンスをどのように投稿することができますか? Java 8コードも高く評価されます。

ガイ

答えて

0

ありがとうあなたがScalaではflatMapValues

擬似コードを使用するようですが、それはJavaで非常に類似した、次のようになります。それぞれについて、

val dStream = ... 
val flatten = dStream.flatMapValues(list => list) 

キーを使用すると、入力リストの要素1つにつき1つの行が表示され、reduceを使用して合計、平均などのメトリックを計算できます

たとえば

Input: 
key = 1, value = [1, 2, 3] 
Output: 
key = 1, value = 1 
key = 1, value = 2 
key = 1, value = 3 
関連する問題