2017-05-23 10 views
0

spark 2.2でリアルタイムデータストリーミングを行っています。私の問題のステートメントに従って、私は120秒のスライディングウィンドウ内のデータを照会したい。期間。私は1秒ごとにstreamingqueryをトリガーしています。理想的には、クエリは1つ前の120秒だけ実行する必要があります。データ(更新/新鮮なデータ)。しかし、私がクエリを実行しているとき、それは120秒(古い)データの前に来た全データで実行されています。これは、すでに処理されているデータ上でウィンドウがスライドしていることを意味します。Spark:ストリーミングクエリでイベントタイムスライディングウィンドウを使用しているときの問題

この理由は何でしょうか。どのように新しいデータ(未処理)にのみウィンドウを適用できますか?

+0

くださいpはあなたのコードを動かす。問題の原因を推測するのは難しいです。 –

答えて

0

spark 2.2と構造化ストリーミングでは、集計を実行しているイベント時の列に透かしを指定することができ、Scalaコードは次のようになります。毎秒スライドする120秒のスライディングウィンドウ

query 
.withWatermark("event-time-column", "120 second") 
.groupBy("event-time-column", "120 second", "1 second") 

したがって、120秒よりも古いデータからすべてのデータおよび凝集状態が廃棄されようとしているだけ新鮮なデータがここに

完全なドキュメント処理されます。 https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html

関連する問題