Delta Live Tables パイプラインを構成する
この記事では、ワークスペース UI を使用した Delta Live Tables パイプラインの基本的な構成について説明します。
Databricks では、サーバーレスを使用して新しいパイプラインを開発することをお勧めします。 サーバーレス パイプラインの構成手順については、「 サーバーレス Delta Live Tables パイプラインの構成を参照してください。
この記事の構成手順では、Unity カタログを使用します。 従来の Hive メタストアを使用してパイプラインを構成する手順については、「 レガシ Hive メタストアで Delta Live Tables パイプラインを使用するを参照してください。
Note
UI には、JSON で設定を表示および編集するオプションがあります。 ほとんどの設定は、UI または JSON 仕様を使用して構成できます。 一部の詳細オプションは、JSON 構成を使用してのみ使用できます。
JSON 構成ファイルは、新しい環境にパイプラインをデプロイする場合や、CLI または REST API を使用する場合にも役立ちます。
Delta Live Tables JSON 構成設定の完全なリファレンスについては、「Delta Live Tables パイプラインの構成」をご覧ください。
新しい Delta Live Tables パイプラインを構成する
新しい Delta Live Tables パイプラインを構成するには、次の操作を行います。
- サイドバーの [ Delta ライブ テーブル をクリックします。
- [パイプライン 作成] をクリックします。
- 一意の Pipeline 名を指定します。
- (省略可能) ファイル ピッカーを使用して、ノートブックとワークスペース ファイルを Source コードとして構成します。
- ソース コードを追加しない場合は、パイプライン用に新しいノートブックが作成されます。 ノートブックはユーザー ディレクトリ内の新しいディレクトリに作成され、パイプラインを作成した後、このノートブックにアクセスするためのリンクが Pipeline の詳細 ペインの Source code フィールドに表示されます。
- パイプラインを作成したら、Pipeline の詳細 パネルの Source コード フィールドに表示される URL を使用して、このノートブックにアクセスできます。
- [ソース コードの追加] ボタンを使用して、ソース コード資産を追加します。
- ソース コードを追加しない場合は、パイプライン用に新しいノートブックが作成されます。 ノートブックはユーザー ディレクトリ内の新しいディレクトリに作成され、パイプラインを作成した後、このノートブックにアクセスするためのリンクが Pipeline の詳細 ペインの Source code フィールドに表示されます。
- Storage オプションでUnity カタログを選択します。
- Catalog を選択してデータを発行します。
- カタログ内の Schema を選択します。 パイプラインで定義されているすべてのストリーミング テーブルと具体化されたビューは、このスキーマに作成されます。
- [ Compute ] セクションで、[フォトン アクセラレーションを使用 ] の横にあるチェック ボックスをオン。 コンピューティング構成に関するその他の考慮事項については、「 Compute 構成オプションを参照してください。
- Create をクリックしてください。
これらの推奨される構成では、 Triggered モードで実行するように構成された新しいパイプラインを作成し、 Current チャネルを使用します。 この構成は、開発やテストを含む多くのユース ケースに推奨され、スケジュールに従って実行する運用ワークロードに適しています。 パイプラインのスケジュール設定の詳細については、「ジョブの Delta Live Tables パイプライン タスクを参照してください。
コンピューティング構成オプション
Databricks では、常に Enhanced 自動スケーリングを使用することをお勧めします。 他のコンピューティング構成の既定値は、多くのパイプラインに適しています。
サーバーレス パイプラインでは、コンピューティング構成オプションが削除されます。 サーバーレス パイプラインの構成手順については、「 サーバーレス Delta Live Tables パイプラインの構成を参照してください。
コンピューティング構成をカスタマイズするには、次の設定を使用します。
ワークスペース管理者は、 クラスター ポリシーを構成できます。 コンピューティング ポリシーを使用すると、管理者はユーザーが使用できるコンピューティング オプションを制御できます。 「クラスター ポリシーの選択」を参照してください。
必要に応じて、 クラスター モード 固定サイズ または Legacy 自動スケーリングで実行するように構成できます。 拡張自動スケーリングを使用して Delta Live Tables パイプラインのクラスター使用率を最適化するを参照してください。
自動スケールが有効になっているワークロードの場合は、 Min workers と Max workers を設定して スケーリング動作の制限を設定します。 デルタ ライブ テーブル パイプライン コンピューティングの構成を参照してください。
必要に応じて、Photon アクセラレーションをオフにすることができます。 「Photon とは」を参照してください。
Cluster タグを使用して、Delta Live Tables パイプラインに関連するコストを監視できます。 クラスター タグの構成を参照してください。
パイプラインの実行に使用する仮想マシンの種類を指定するにはInstance の種類を構成します。 「パイプラインを実行するインスタンスの種類を選択する」を参照してください。
- パイプラインで構成されたワークロード用に最適化Worker の種類を選択します。
- 必要に応じて、worker の種類とは異なる Driver の種類 を選択できます。 これは、ワーカーの種類が大きく、ドライバーのコンピューティング使用率が低いパイプラインのコストを削減したり、大規模なドライバーの種類を選択して、多数の小規模なワーカーを使用するワークロードでメモリ不足の問題を回避したりする場合に役立ちます。
その他の構成に関する考慮事項
パイプラインでは、次の構成オプションも使用できます。
- Advanced 製品エディションを使用すると、すべての Delta Live Tables 機能にアクセスできます。 必要に応じて、 Pro または Core 製品エディションを使用してパイプラインを実行できます。 「 製品エディションの選択」を参照してください。
- 運用環境でパイプラインを実行するときに、 Continuous パイプライン モードを使用することもできます。 トリガーされたパイプライン モードと継続的パイプライン モードを参照してください。
- ワークスペースが Unity カタログ用に構成されていない場合、またはワークロードで従来の Hive メタストアを使用する必要がある場合は、「 レガシ Hive メタストアで Delta Live Tables パイプラインを使用するを参照してください。
- 成功または失敗の条件に基づいて電子メールの更新に Notifications を追加します。 「パイプライン イベントの通知を追加する」を参照してください。
- Configuration フィールドを使用して、パイプラインのキーと値のペアを設定します。 これらの構成は、次の 2 つの目的に役立ちます。
- ソース コードで参照できる任意のパラメーターを設定します。 「 デルタ ライブ テーブル パイプラインでパラメーターを使用するを参照してください。
- パイプライン設定と Spark 構成を構成します。 Delta Live Tables のプロパティ リファレンスを参照してください。
- Preview チャネルを使用して、保留中の Delta Live Tables ランタイムの変更と試用版の新機能に対してパイプラインをテストします。
製品エディションの選択
お客様のパイプライン要件に最適な機能を備えた Delta Live Tables 製品エディションを選択してください。 次の製品エディションを利用できます。
Core
ストリーミング取り込みワークロードを実行します。 変更データ キャプチャ (CDC) や Delta Live Tables の期待値などの高度な機能がパイプラインに必要ない場合は、Core
エディションを選択します。Pro
ストリーミング取り込みと CDC のワークロードを実行します。Pro
製品エディションでは、すべてのCore
機能がサポートされているほか、ソース データの変更に基づいてテーブルを更新する必要があるワークロードもサポートされています。Advanced
を使用して、ストリーミング取り込みワークロード、CDC ワークロード、期待値を必要とするワークロードを実行できます。Advanced
製品エディションでは、Core
エディションとPro
エディションの機能がサポートされており、Delta Live Tables の期待に応えるデータ品質の制約が含まれています。
パイプラインを作成または編集する場合は、製品エディションを選択できます。 パイプラインごとに異なるエディションを選択できます。 Delta Live Tables 製品ページをご覧ください。
注意: 選択した製品エディションでサポートされていない機能 (期待値など) がパイプラインに含まれている場合は、エラーの理由を説明するエラー メッセージが表示されます。 その後、パイプラインを編集して、適切なエディションを選択できます。
ソース コードを構成する
Delta Live Tables UI のファイル セレクターを使用して、パイプラインを定義するソース コードを構成できます。 パイプライン ソース コードは、Databricks ノートブック、またはワークスペース ファイルに格納されている SQL または Python スクリプトで定義されます。 パイプラインを作成または編集するときに、1 つ以上のノートブックまたはワークスペース ファイル、またはノートブックとワークスペース ファイルの組み合わせを追加できます。
Delta Live Tables はデータセットの依存関係を自動的に分析してパイプラインの処理グラフを構築するため、ソース コード資産を任意の順序で追加できます。
JSON ファイルを変更して、ワークスペース ファイルに格納されている SQL スクリプトと Python スクリプトで定義された Delta Live Tables ソース コードを含めることができます。 次の例には、ノートブックとワークスペース ファイルが含まれています。
{
"name": "Example pipeline 3",
"storage": "dbfs:/pipeline-examples/storage-location/example3",
"libraries": [
{ "notebook": { "path": "/example-notebook_1" } },
{ "notebook": { "path": "/example-notebook_2" } },
{ "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.sql" } },
{ "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.py" } }
]
}
Python を使用するパイプラインの外部依存関係を管理する
Delta Live Tables では、Python パッケージやライブラリなど、パイプラインでの外部依存関係の使用がサポートされています。 依存関係を使用するためのオプションと推奨事項については、Delta Live Tables パイプラインの Python 依存関係の管理に関する説明を参照してください。
Azure Databricks ワークスペースに格納されている Python モジュールを使用する
Databricks ノートブックで Python コードを実装するだけでなく、Databricks Git フォルダーまたはワークスペース ファイルを使用して、コードを Python モジュールとして格納できます。 コードを Python モジュールとして格納することは、複数のパイプラインまたは同じパイプライン内のノートブックで使用する一般的な機能がある場合に特に便利です。 パイプラインで Python モジュールを使用する方法については、Git フォルダーまたはワークスペース ファイルから Python モジュールをインポートする方法の説明を参照してください。