パイプラインとは?
パイプラインは、Lakeflow Spark宣言型パイプライン(SDP)における開発と実行の主要な単位です。パイプラインは、ソースコードファイルと設定で構成されています。ソースファイルは、ストリーミングテーブル、マテリアライズドビュー、ビューといったデータセット、およびそれらを生成するクエリとフローを宣言します。構成は、パイプラインの実行方法とデータの保存場所を指定します。
パイプラインは、定義するフロー、ストリーミングテーブル、マテリアライズドビュー、およびシンクのコンテナです。パイプラインの実行中に、これらのオブジェクト間の依存関係が分析され、実行順序と並列化が自動的に調整されます。パイプラインに含まれるオブジェクトの詳細については、Lakeflow Spark宣言型パイプラインとはを参照してください。
パイプラインのソースコード
パイプライン ソースコード は Python または SQL で記述されています。1つのパイプラインはPythonとSQLのソースファイルを混合させることができますが、各ファイルには1つの言語しか含めることができません。パイプラインは、ソースファイル全体でデータセットの依存関係を分析するため、ソースコードを任意の順序で構成できます。
言語固有の開発ガイドについては、Python を使用したパイプライン コードの開発 および SQL を使用した Lakeflow Spark宣言型パイプライン コードの開発を参照してください。
パイプライングラフ
パイプラインは、データセット間の依存関係を自動的に検出し、それらを有向非巡回グラフ (DAG) として整理します。グラフが評価順序を決定します:上流のデータセットは下流のデータセットより前にコンピュートされます。Lakeflow Pipelines エディタでパイプラインのグラフを表示して操作できます。
パイプラインの更新
パイプライン更新は、以下の方法で各データセットの現在の状態をコンピュートします。
- 正しい構成でクラスターを開始します。
- ソースファイルを分析し、依存関係グラフを構築しています。
- 依存関係の順序で、各データセットを計算または増分更新します。
パイプラインは2つのモードで実行されます。
- トリガー済み : パイプラインは1回実行され、すべてのデータセットが最新の状態になると停止します。
- 連続 :パイプラインは無期限に実行され、到着した新規データを処理します。
エディターから対話形式でトリガーする更新は、クラスターを再利用し、自動再試行を無効にすることで、高速な反復処理に最適化されます。「実行動作の更新」を参照してください。
パイプラインタイプ
Jobs & Pipelines リストには、LakeFlow Spark宣言型パイプラインのパイプラインだけでなく、より多くのものが含まれています。Databricks ではさまざまな種類のパイプラインが実行されており、**ジョブ & パイプライン**リストとパイプラインモニタリングページにはそれぞれタイプが表示されるため、ユーザーはどれがどのパイプラインであるかを区別できます。次の表は、各パイプラインタイプが、イベントログに記録されるpipeline_typeの値にどのように対応するかを示しています。
ジョブとパイプライン と入力してください |
| 説明 |
|---|---|---|
ETL |
| Lakeflow Spark宣言型パイプラインで定義されたパイプラインLakeflow Spark宣言型パイプラインを参照してください。 |
データ取り込み |
| LakeFlow Connect で作成された、管理の取り込みパイプラインです。Lakeflow Connectのマネージド コネクタを参照してください。 |
MV/ST |
| スタンドアロンのパイプラインです。「スタンドアロン パイプライン」を参照してください。 |
データベーステーブルの同期 |
| テーブルをLakebaseデータベースに同期するパイプライン。「同期テーブルを使用してレイクハウス データを提供する (Lakebase Provisioned)」を参照してください。 |
スタンドアロン パイプライン
Lakeflow Spark宣言型パイプラインの外部で、ストリーミングテーブルとマテリアライズドビューをスタンドアロンパイプラインとして作成および管理できます。Databricks SQL または Python を使用して、スタンドアロンのストリーミングテーブルとマテリアライズドビューを作成および更新できます。それらは同じDatabricksインフラストラクチャ上にあり、Lakeflow Spark宣言型パイプラインと同じ処理セマンティクスを持ちます。スタンドアロンのストリーミングテーブルまたはマテリアライズドビューを定義すると、フローはストリーミングテーブルまたはマテリアライズドビューの定義の一部として暗黙的に定義されます。
詳細については、「スタンドアロンのパイプライン」を参照してください。
Lakeflow Pipelines エディター
The Lakeflow Pipelines Editor は、パイプライン開発用に構築された IDE です。提供しています。
- PythonおよびSQLソースファイル用のマルチファイルコードエディタ
- ファイルやフォルダーを整理するためのパイプラインアセットブラウザー
- データセットの依存関係と状態を示すインタラクティブなパイプライングラフ
- ストリーミングテーブルとマテリアライズドビューのデータプレビュー
- 最新の実行結果を表示する実行知見と問題ペイン
- パイプライン全体を実行せずに個別のファイルまたはテーブルを更新する選択実行
The editor integrates with the Databricks platform and supports version control via Git folders. For step-by-step guidance, see Develop and debug ETL pipelines with the Lakeflow Pipelines Editor.