2016-10-12 4 views
0

私はspark 1.6を使用しています。この関数reduceByKeyAndWindowは、カフカのトピックで送信されたデータに対して単語カウントを実行するために使用しています。sparkのreduceByKeyAndWindow関数の奇妙な動作

reduceByKeyAndWindowが提供している選択肢のリストです。ご覧のように、すべての選択肢には余分なパラメータを使用して同様のシグネチャがあります。

List of Functions

しかし、私はちょうど私の軽減機能や期間、私の軽減機能付きかとreduceByKeyAndWindowを使用する場合、それが動作すると、以下のように私にすべてのエラーを与えるものではありません。

No errors or warnings here

しかし、私はreduce関数、期間、それは私に次のエラーを与えて起動し、ウィンドウの時間をスライドで代替を使用する場合、以下のように、同じことが、他の選択肢で発生します。

Error message recieved

私はここで何が起こっているのか本当にわからないとどのように私はこの問題を解決することができます。

あなたがDStreamから法[.reduceByWindow(_+_, Seconds(2), Seconds(2))]を使用することができるはず.words.map(x => (x, 1L))この行をコメントした場合、任意のヘルプは

+0

'reduceByKeyAndWindowある何のための詳細についてのドキュメントを参照してください - '(_ + _、_、_、議事録(10)秒(2)、2)これは私のために働く.. – Shankar

+0

あなたの問題に答え... – Shankar

答えて

0

を高く評価しています。

単語をcountの単語に変換する場合は、以下の方法を使用する必要があります。

reduceByKeyAndWindow(_ + _, _ - _, Minutes(10), Seconds(2), 2) 

これらreduce functioninverse reduce機能https://github.com/apache/spark/blob/master/streaming/src/main/scala/org/apache/spark/streaming/dstream/DStream.scala

+0

私に利用可能な関数のリストが表示されれば、私は逆縮小関数もない関数の署名を持っているので、技術的にそれはすべきです作業。 動作しないため、なぜ動作していないのか、エラーメッセージの意味を説明できますか? –