次の方法で共有


構造化ストリーミングの概念

Apache Spark 構造化ストリーミングは、リアルタイムに近い処理エンジンです。使い慣れた Spark API を用いて、エンドツーエンドのフォールトトレランスを提供し、厳密に 1 回だけの処理を保証します。 構造化ストリーミングでは、静的データに対するバッチ計算を表現するのと同じように、ストリーミング データに対する計算を表現できます。 構造化ストリーミング エンジンは、ストリーミング データの受信と並行して、段階的に計算を実行し、継続的に結果を更新します。

詳細なチュートリアルについては、「 最初の構造化ストリーミング ワークロードを実行する」を参照してください。

データ ストリームからの読み取り

構造化ストリーミングを使用して、サポートされているデータ ソースからデータを増分的に取り込みます。

特徴 説明
自動ローダー 新しいデータ ファイルがクラウド ストレージに到着すると、増分的かつ効率的に処理されます。
差分テーブルのストリーミング読み取りと書き込み Delta Lake テーブルは、正確に 1 回の処理が保証されたストリーミング ソースとシンクとして使用します。
標準コネクタ 標準コネクタを使用して、メッセージ バス、キュー、エンタープライズ アプリケーションに接続します。
マイクロバッチ サイズ 一貫性のあるバッチ サイズを維持し、処理の遅延を防ぐために、入力レートを制限します。

データ シンクへの書き込み

Structured Streaming がターゲット システムにデータを配信する方法を構成します。

特徴 説明
チェックポイント 処理状態を格納して厳密に一度の配信セマンティクスとフォールトトレランスを実現します。
出力モード ステートフル ストリーミング クエリの追加、更新、および完全モードを選択します。
トリガー間隔 トリガー間隔を設定して、処理要件の待機時間とコストのバランスを取ります。
構造化ストリーミングのリアルタイム モード エンド ツー エンドの待機時間が 5 ミリ秒と短いリアルタイム ワークロードのデータを処理します。

ステートフル処理とステートレス処理

ステートレス クエリは、状態を保持せずに行を処理します。 ステートフル クエリは、集計、結合、重複除去の中間状態を維持します。

特徴 説明
ステートレス ストリーミング クエリ 中間状態を維持せずにデータを処理するクエリを最適化します。
透かし ステートフル操作において、構造化ストリーミングが遅れて到着するデータを待機する時間を管理します。
ステートフル ストリーミング ステートフル演算子を使用して、集計、ストリーム ストリーム結合、重複除去を管理します。

監視と管理

クエリのパフォーマンスを追跡し、最適化を適用し、運用環境の Structured Streaming ワークロードのデータ アクセスを管理します。

特徴 説明
StreamingQueryListener を使用した監視 Spark UI とリスナー API を使用して、クエリの進行状況とパフォーマンス のメトリックを追跡します。
Unity カタログを使用した管理 ガバナンスとアクセス制御を使用して、ストリーミング ワークロード用に Unity カタログを構成します。