Skip to Content
Apache Flinkによるストリーム処理
book

Apache Flinkによるストリーム処理

by Fabian Hueske, Vasiliki Kalavri
March 2025
Intermediate to advanced
310 pages
5h 10m
Japanese
O'Reilly Media, Inc.
Content preview from Apache Flinkによるストリーム処理

第6章. タイムベース演算子とウィンドウ演算子

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この章では、時間処理のためのDataStream APIメソッドと、Windowsのような時間ベースの演算子について説明する。時間セマンティクス "で学んだように、Flinkの時間ベースの演算子は、異なる時間の概念で適用することができる。

まず、時間特性、タイムスタンプ、透かしを定義する方法を学ぶ。次に、タイムスタンプと透かしへのアクセスを提供し、タイマーを登録できる低レベル変換であるプロセス関数をカバーする。次に、最も一般的なウィンドウタイプの組み込み実装を提供するFlinkのウィンドウAPIを使用する。また、カスタムのユーザー定義ウィンドウ操作や、代入演算子、トリガー、エヴィクターなどのコアウィンドウコンストラクトについても紹介する。最後に、時間通りにストリームに参加する方法と、遅いイベントを処理する戦略について説明する。

時間特性を設定する

分散ストリーム処理アプリケーションで時間演算子を定義するには、時間の意味を理解することが重要である。ウィンドウを指定してイベントを1分バケットで収集する場合、各バケットには正確にどのイベントが含まれるのだろうか? DataStream APIでは、ウィンドウを作成するときに、時間の定義方法をFlinkに伝えるためにtime characteristicを使うことができる。時間特性は のプロパティである。 StreamExecutionEnvironmentのプロパティで、以下の値を取る:

ProcessingTime

は、演算子が実行中のマシンのシステムクロックに従ってデータストリームの現在時刻を決定することを 。処理時間ウィンドウは、マシン時間に基づいてトリガーされ、その時点ま でに演算子に到着した要素をすべて含む。一般化では、ウィンドウ操作に処理時間を使用すると、ウィンドウの内容が要素の到着速度に依存するため、非決定的な結果となる。この設定では、処理タスクがイベント時間を進めるために透かしを待つ必要がないため、遅延が非常に低くなる。

EventTime

は、演算子がデータそのものからの情報を使って現在時刻を決定する 。各イベントはタイムスタンプを持ち、システムの論理時刻は透かしによって定義される。タイムスタンプ "で学んだように、タイムスタンプはデータ処理パイプラインに入る前のデータ中に存在するか、またはソースでアプリケーションによって代入される。イベント・タイム・ウィンドウは、ある時間間隔のすべてのタイムスタンプが受信されたことを透かしが宣言したときにトリガーされる。イベント・タイム・ウィンドウは、イベントが順番通りに到着しなくても、決定論的な結果を計算する。Windowsの結果は、ストリームの読み取りや処理の速さには依存しない。

IngestionTime

は、 、インジェストされた各レコードにソース演算子の処理時間をイベント時間タイムスタンプとして付与し、透かしを自動的に生成する。これは、EventTimeProcessingTime.イベントの取り込み時間は、それがストリーム処理装置に入った時間である。インジェスト時間は、決定論的な結果を提供せず、イベント時間と同様のパフォーマ ンスを持つため、イベント時間と比較して実用的な価値はあまりない。

例6-1は"Hello, Flink!" ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発

LLMのプロンプトエンジニアリング ―GitHub Copilotを生んだ開発者が教える生成AIアプリケーション開発

John Berryman, Albert Ziegler, 服部 佑樹, 佐藤 直生
信頼性の高い機械学習 ―SRE原則を活用したMLOps

信頼性の高い機械学習 ―SRE原則を活用したMLOps

Cathy Chen, Niall Richard Murphy, Kranti Parisa, D. Sculley, Todd Underwood, 井伊 篤彦, 張 凡, 樋口 千洋
AWS クックブック

AWS クックブック

John Culkin, Mike Zazon

Publisher Resources

ISBN: 9798341625044