Azure Databricks でのストリーミング

Azure Databricks は、ストリーミング データのための凖リアルタイムのデータ インジェスト、処理、機械学習、AI のために使用することができます。

Azure Databricks は、ストリーミングと増分処理のために数々の最適化を実現します。 Databricks では、ほとんどのストリーミングまたは増分データ処理または ETL タスクで Delta Live Tables を推奨します。 「Delta Live Tables とは」を参照してください。

Azure Databricks における増分およびストリーミング ワークロードのほとんどで、Delta Live Tables や自動ローダーなどの構造化ストリーミングが利用されます。 「自動ローダー」を参照してください。

Delta Lake と構造化ストリーミングは、Databricks レイクハウスでの増分処理を強化するために緊密に統合されています。 「差分テーブルのストリーミング読み取りと書き込み」を参照してください。

リアルタイム モデルの提供については、「Azure Databricks でのモデルの提供」を参照してください。

Azure Databricks プラットフォームでのストリーミング ソリューションの構築について詳しくは、データ ストリーミング製品のページを参照してください。

Azure Databricks には、Avro、プロトコル バッファー、JSON データ ペイロードに含まれる半構造化データ フィールドを操作するための特定の機能があります。 詳細については、次を参照してください。

構造化ストリーミングとは

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

構造化ストリーミングを初めて使用する場合は、「最初の構造化ストリーミング ワークロードを実行する」を参照してください。

Unity Catalog での構造化ストリーミングの使用の詳細については、「構造化ストリーミングでの Unity Catalog の使用」を参照してください。

Azure Databricks でサポートされているストリーミングのソースとシンクは何ですか?

Databricks では、自動ローダーを使用し、サポートされている種類のファイルをクラウド オブジェクト ストレージから Delta Lake に取り込むことを推奨しています。 ETL パイプラインの場合、Databricks では、Delta Live テーブル (デルタ テーブルと構造化ストリーミングを使用) を使用することを推奨しています。 Delta Lake テーブルとの間でストリーミングすることで、増分 ETL ワークロードを構成することもできます。

Delta Lake と自動ローダーに加えて、構造化ストリーミングは、Apache Kafka などのメッセージング サービスに接続できます。

foreachBatch を使用して任意のデータ シンクに書き込むこともできます。

その他の技術情報

Apache Spark で提供されている構造化ストリーミングのプログラミング ガイドには、構造化ストリーミングの詳細について説明されています。

構造化ストリーミングのリファレンス情報について、Databricks では次の Apache Spark API リファレンスをお勧めします。