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

スタンドアロンパイプラインとLakeflow pipelines

Databricks は、マテリアライズドビュー と ストリーミングテーブル を構築するための2つの方法を提供しています: スタンドアロンパイプライン、または Lakeflow pipelines です。どちらも同じ宣言型エンジンで実行され、Unity Catalog マネージドテーブルを生成します。違いは、パイプラインのどの部分を作成し、操作するかです。

  • スタンドアロン マテリアライズドビューまたはストリーミングテーブルは、SQL構文で定義された単一のデータセットです。Databricksは、バックグラウンドでパイプラインを作成および管理し、更新します。Databricks SQLウェアハウスから、またはspark.sql()を使用してサーバレス汎用コンピュート上のノートブックから、スタンドアロン データセットを作成および更新できます。「スタンドアロン パイプライン」を参照してください。
  • Lakeflow パイプライン とは、単位として作成および操作するパイプラインのことです。SQL および Python で記述された多くのデータセットを含めることができ、依存関係のオーケストレーション、リネージ、およびパイプライン全体の運用機能が備わっています。「パイプラインとは」を参照してください。

スタンドアロンのマテリアライズドビューまたはストリーミングテーブルを作成すると、管理されているパイプラインはパイプラインタイプ として **Jobs & Pipelines** MV/STページに表示されます。Lakeflowパイプラインで定義されたデータセットのパイプラインタイプは ETL です。

スタンドアロンパイプラインを使用する場合

スタンドアロンマテリアライズドビューとストリーミングテーブルを使用する場合:

  • 単一のマテリアライズドビューまたはストリーミングテーブルで、クエリを高速化したりデータを変換したりできます。
  • Databricks SQLウェアハウス、SQLエディター、またはサーバレス汎用コンピュート上のノートブックから作業し、SCHEDULETRIGGER ON UPDATE、またはジョブ内のSQLタスクで更新をスケジュールします。
  • シンク、マルチステージオーケストレーション、またはその他のパイプライン固有の機能は不要です。

LakeFlow Pipelinesはいつ使用するか

Use a LakeFlow Pipelines when:

  • Databricksがデータセット間の依存関係とリネージを管理する、中間データセットを含む多段階パイプラインを構築します。中間データセットはカタログに公開することも、パイプラインに対してプライベートに保つこともできます。
  • Python でテーブルとフローを作成します。
  • 外部のDeltaテーブルまたはイベントストリーミングの送信先に、シンク(create_sink()またはforeach_batch_sink())を使用して書き込みます。
  • データベーススナップショットからのチェンジデータキャプチャは、create_auto_cdc_from_snapshot_flow()を使用して適用します。
  • パイプライン全体で、トリガーまたは連続実行が必要です。

比較

属性

スタンドアロン ストリーミングテーブルまたはマテリアライズドビュー

パイプラインストリーミングテーブルまたはマテリアライズドビュー

オーサリングインターフェース

Databricks SQLウェアハウスから、またはサーバレス汎用コンピュート上のノートブックでspark.sql()を使用するSQL構文

SQL と Python

スコープ

Databricksが管理するパイプライン内の1つのデータセット

依存関係のオーケストレーションとリネージを備えた、1つのパイプライン内の複数のデータセット

処理の実行

トリガーされる、SCHEDULETRIGGER ON UPDATE、またはSQLタスク

トリガーされるまたは連続

パイプライン固有の機能

シンク、create_auto_cdc_from_snapshot_flow()、プライベートデータセット

パイプラインタイプラベル

MV/ST

ETL

パイプライン間での移動

サポートされていません。ターゲットパイプラインでテーブルを再作成してください。

サポートされています