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によるストリーム処理

第7章. ステートフル演算子とアプリケーション状態

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

ステートフル演算子 とユーザ関数は、ストリーム処理アプリケーションの一般的な構成要素である。実際、ほとんどの非自明な演算子は、レコードや部分的な結果を記憶する必要がある。なぜなら、データはストリーム処理され、時間とともに到着するからだ。1Flinkの組み込みDataStream演算子、ソース、シンクの多くはステートフルで、レコードをバッファリングしたり、部分的な結果やメタデータを保持する。例えば、ウィンドウ演算子は、ProcessWindowFunction の入力レコードやReduceFunction の適用結果を収集し、ProcessFunction はスケジュールされたタイマーを記憶し、いくつかのシンク関数はトランザクションに関するステートを保持し、ジャストワンス機能を提供する。組み込み演算子や提供されるソースやシンクに加えて、FlinkのDataStream APIは、ユーザ定義関数の状態を登録、維持、アクセスするためのインタフェースを公開している。

ステートフル・ストリーム処理は、ストリーミング・アプリケーションのメンテナンスだけでなく、障害回復やメモリ管理など、ストリーム・プロセッサの多くの側面に影響を与える。第2章と第3章では、それぞれステートフル・ストリーム処理の基礎と、それに関連するFlinkのアーキテクチャの詳細について説明した。第9章では、ステートフルなアプリケーションを確実に処理するためのFlinkのセットアップと設定方法を説明する。第 10 章では、アプリケーションのセーブポイントの取得と復元、アプリケーションのリスケーリング、 アプリケーションのアップグレードなど、ステートフルなアプリケーションの演算子について説明する。

この章では、ステートフルなユーザ定義関数の実装に焦点を当て、ステートフル・アプリケーションの性能と堅牢性について議論する。具体的には、ユーザ定義関数の中でどのように定義し、どのように様々なタイプのユーザと対話するかを説明する。また、性能の側面と、関数のステートのサイズを制御する方法についても説明する。最後に、キー付きステートをクエリ可能に設定する方法と、外部アプリケーションからステートにアクセスする方法を示す。

ステートフル関数の実装

ステート管理」では、 、関数はキー付きステートと演算子ステートの2種類のステートを持つことができると説明した。Flinkはステートフル関数を定義するための複数のインタフェースを提供している。このセクションでは、keyed状態と 演算子状態を持つ関数がどのように実装されているかを示す。

ランタイムコンテキストでキー付きステートを宣言する

ユーザ関数 は、キー属性のコンテキストでステートを保存しアクセスするために、キー付きステートを採用することができる。Flinkは、キー属性の異なる値ごとに、1つのステートインスタンスを保持する。関数のキー付きステートインスタンスは、関数の演算子のすべての並列タスクに分散される。つまり、関数の各並列インスタンスは、キードメインのサブレンジを担当し、対応するステートインスタンスを保持する。したがって、キー付きステートは分散キー・バリュー・マップに非常に似ている。キー付き状態の詳細については、"状態管理 "を参照のこと。

キー付き 状態は、KeyedStream ...

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