パイプラインは、Lakeflow での Apache Spark™ 宣言パイプライン (SDP) の開発と実行のメイン ユニットです。 パイプラインは、ソース コード ファイルと構成のコレクションです。 ソース ファイルでは、データセット (ストリーミング テーブル、具体化されたビュー、ビュー) と、それらを生成するクエリとフローが宣言されます。 この構成では、パイプラインの実行方法とデータの格納場所を指定します。
パイプラインは、定義したフロー、ストリーミング テーブル、具体化されたビュー、シンクのコンテナーです。 パイプラインの実行中に、これらのオブジェクト間の依存関係が分析され、実行順序と並列化の順序が自動的に調整されます。 パイプラインに含まれるオブジェクトの詳細については、「 Lakeflow パイプラインとは」を参照してください。 Lakeflow パイプラインと Apache Spark 宣言パイプラインの比較については、「Apache Spark™ 宣言型パイプライン」を参照してください。
パイプラインのソース コード
パイプライン ソース コードは、Pythonまたは SQL で記述されます。 1 つのパイプラインでPythonと SQL ソース ファイルを混在させることができますが、各ファイルに含めることができる言語は 1 つだけです。 パイプラインは、すべてのソース ファイルのデータセットの依存関係を分析するため、ファイル間のソース コードを任意の順序で整理できます。
言語固有の開発ガイダンスについては、「Pythonを使用したパイプライン コードの開発」および「SQL を使用した Lakeflow パイプライン コードの開発」を参照してください。
パイプライン グラフ
パイプラインは、データセット間の依存関係を自動的に推論し、有向非巡回グラフ (DAG) に配置します。 グラフは評価順序を決定します。アップストリーム データセットはダウンストリームデータセットの前に計算されます。 Lakeflow パイプライン エディターでパイプライン グラフを表示および操作できます。
パイプラインの更新
パイプラインの更新では、次の方法で各データセットの現在の状態が計算されます。
- 正しい構成でクラスターを起動する。
- ソース ファイルの分析と依存関係グラフの構築。
- 依存関係の順序で各データセットを計算または増分更新する。
パイプラインは、次の 2 つのモードで実行されます。
- トリガー: パイプラインは 1 回実行され、すべてのデータセットが最新の状態になると停止します。
- 継続的: パイプラインは無期限に実行され、新しいデータが到着すると処理されます。
エディターから対話形式でトリガーする更新は、高速な反復のために最適化され、クラスターが再利用され、自動再試行が無効になります。 「 更新プログラムの実行動作」を参照してください。
パイプラインの種類
[ジョブとパイプライン] の一覧には、Lakeflow パイプラインで作成されたパイプラインだけでなく、それ以外の項目も含まれます。 Azure Databricksは複数の異なる種類のパイプラインを実行し、ジョブとパイプラインの一覧とパイプライン監視ページでは、それぞれが型でラベル付けされ、どちらがどれであるかを確認できます。 次の表は、各パイプラインの種類をpipeline_typeに記録された値にマップします。
| Jobs & Pipelinesと入力します |
pipeline_type イベント ログの中に |
説明 |
|---|---|---|
| ETL | WORKSPACE |
Lakeflow パイプライン。 Spark 宣言型パイプラインに関するページを参照してください。 |
| データの取り込み | MANAGED_INGESTION |
Lakeflow Connect で作成されたマネージド インジェスト パイプライン。 Lakeflow Connect のマネージド コネクタを参照してください。 |
| MV/ST | DBSQL |
スタンドアロン パイプライン。 スタンドアロン パイプラインを参照してください。 |
| データベース テーブルの同期 | DATABASE_TABLE_SYNC |
テーブルを Lakebase データベースに同期するパイプライン。 「同期されたテーブルを使用して Lakehouse データを提供する (Lakebase Provisioned)」を参照してください。 |
スタンドアロン パイプライン
Lakeflow パイプラインの外部で、ストリーミング テーブルと具体化されたビューを スタンドアロン パイプラインとして作成および管理できます。 Databricks SQL またはPythonを使用して、スタンドアロン ストリーミング テーブルと具体化されたビューを作成および更新できます。 これらは同じAzure Databricks インフラストラクチャで実行され、Lakeflow パイプラインと同じ処理セマンティクスを持ちます。 スタンドアロン ストリーミング テーブルまたは具体化されたビューを定義すると、フローはストリーミング テーブルまたは具体化されたビュー定義の一部として暗黙的に定義されます。
詳細については、「 スタンドアロン パイプライン」を参照してください。
Lakeflow Pipelines Editor
Lakeflow パイプライン エディターは、パイプライン開発用に構築された IDE です。 次の機能を提供します。
- Pythonおよび SQL ソース ファイル用のマルチファイル コード エディター
- ファイルとフォルダーを整理するためのパイプライン資産ブラウザー
- データセットの依存関係と状態を示す対話型パイプライン グラフ
- ストリーミング テーブルと具体化されたビューのデータ プレビュー
- 実行の分析情報と、最新の実行の結果を示す問題ウィンドウ
- 完全なパイプラインを実行せずに個々のファイルまたはテーブルを更新する選択的実行
エディターは、Azure Databricks プラットフォームと統合され、Git フォルダーを介したバージョン管理をサポートします。 詳細なガイダンスについては、「 Lakeflow Pipelines Editor を使用した ETL パイプラインの開発とデバッグ」を参照してください。