メインコンテンツまでスキップ

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

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

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

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

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

    • Auto Loader
    • クラウドストレージに新しいデータファイルが到着するたびに、段階的かつ効率的に処理します。
    • 標準コネクタ
    • 標準コネクタを使用して、メッセージバス、キュー、およびエンタープライズアプリケーションに接続します。

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

構造化ストリーミングがターゲットシステムにデータを配信する方法を設定します。

    • チェックポイント
    • 処理状態を保存することで、耐障害性と厳密に1回限りの配信セマンティクスを実現します。
    • 出力モード
    • ステートフルなストリーミングクエリでは、追加、更新、完了の各モードから選択できます。
    • トリガー間隔
    • 処理要件に合わせて、遅延時間とコストのバランスを取るようにトリガー間隔を設定してください。

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

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

監視および管理

クエリのパフォーマンスを追跡し、最適化を適用し、本番運用構造化ストリーミング ワークロードのデータ アクセスを管理します。