2

Apache Flink を使用して、Kafka イベントに保存されているタイムスタンプでソートされたストリーミング ウィンドウを作成したいと考えています。次の記事によると、これは実装されていません。

https://cwiki.apache.org/confluence/display/FLINK/Time+and+Order+in+Streams

ただし、この記事の日付は 2015 年 7 月で、現在ではほぼ 1 年後です。この機能は実装されていますか?誰かが関連するドキュメントや例を教えてくれますか?

4

2 に答える 2

2

Apache Flink は、イベントのタイムスタンプに基づくストリーム ウィンドウをサポートします。Flink では、この概念はイベント時間と呼ばれます。

イベント時間をサポートするには、各イベントからタイムスタンプ (長い値) を抽出する必要があります。さらに、順不同のタイムスタンプを持つイベントを処理するために必要な、いわゆる透かしをサポートする必要があります。

タイムスタンプが抽出されたストリームを指定すると、次のようにウィンドウ合計を定義できます。

val stream: DataStream[(String, Int)] = ...
val windowCnt = stream
  .keyBy(0) // partition stream on first field (String)
  .timeWindow(Time.minutes(1)) // window in extracted timestamp by 1 minute
  .sum(1) // sum the second field (Int)

イベント時間とウィンドウについては、ドキュメント (ここここ) といくつかのブログ投稿 (ここここここ、およびここ) で詳しく説明されています。

于 2016-06-14T12:56:06.713 に答える