Delta Live Tables パイプラインを構成する
この記事では、ワークスペース UI を使用した Delta Live Tables パイプラインの基本的な構成について説明します。
この記事の構成手順では、Unity Catalog を使用します。 従来の でパイプラインを設定する手順についてはHive metastore 、「従来の Delta Live Tablesで パイプラインを使用するHive metastore 」を参照してください。
注:
UI には、JSON で設定を表示および編集するオプションがあります。 ほとんどの設定は、UI または JSON 仕様のいずれかで構成できます。 一部の詳細オプションは、JSON 構成を使用してのみ使用できます。
JSON 設定ファイルは、パイプラインを新しい環境にデプロイする場合や、CLI または REST API を使用する場合にも役立ちます。
Delta Live Tables JSON 構成設定の完全なリファレンスについては、「 Delta Live Tables パイプライン構成」を参照してください。
新しい Delta Live Tables パイプラインを構成する
新しい Delta Live Tables パイプラインを構成するには、次の操作を行います。
サイドバーの 「Delta Live Tables 」をクリックします。
「パイプラインの作成」をクリックします。
一意の パイプライン名を指定します。
ファイル ピッカーを使用して、ノートブックとワークスペース ファイルをソース コードとして構成します。
少なくとも 1 つのソース コード資産を追加する必要があります。
「 ソースコードを追加 」ボタンを使用して、ソースコードアセットを追加します。
データを公開する カタログ を選択します。
カタログで スキーマ を選択します。 パイプラインで定義されているすべてのストリーミング テーブルと具体化されたビューは、このスキーマで作成されます。
コンピュートセクションで、Use Å Å AccelerationPhoton横のボックスにチェックを入れます。コンピュート構成に関するその他の考慮事項については、 コンピュート構成オプションを参照してください。
[作成] をクリックします。
これらの推奨構成では、 トリガー モードで実行するように設定された新しいパイプラインを作成し、 Current チャンネルを使用します。 この構成は、開発やテストなど、多くのユースケースに推奨され、スケジュールに従って実行する必要がある本番運用ワークロードに適しています。 パイプラインのスケジューリングの詳細については、「Delta Live Tables パイプライン タスク for ジョブ」を参照してください。
コンピュート コンフィギュレーション オプション
Databricks 、 常にエンハンスト オートスケールを使用することをお勧めします。 他のコンピュート構成のデフォルト値は、多くのパイプラインで適切に機能します。
次の設定を使用して、コンピュート構成をカスタマイズします。
ワークスペース 管理者は、 クラスターポリシーを構成できます。 コンピュート ポリシーを使用すると、管理者はユーザーが使用できるコンピュート オプションを制御できます。 「クラスターポリシーの選択」を参照してください。
必要に応じて、 クラスター モード を Fixed size または Legacy オートスケールで実行するように構成できます。 拡張オートスケールによるDelta Live Tables パイプラインのクラスター使用率の最適化を参照してください。
オートスケールが有効になっているワークロードの場合は、 Min ワーカー と Max ワーカー を設定して、スケーリング動作の制限を設定します。 Delta Live Tables パイプラインのコンピュートの設定を参照してください。
オプションでPhotonアクセラレーションをオフにすることができます。 Photonとはを参照してください。
クラスタータグを使用して、Delta Live Tables パイプラインに関連するコストを監視します。「クラスタータグの構成」を参照してください。
[インスタンスタイプ] を設定して、パイプラインの実行に使用する仮想マシンのタイプを指定します。「 パイプラインを実行するためのインスタンスタイプを選択する」を参照してください。
パイプラインで構成されたワークロードに最適化された ワーカータイプ を選択します。
オプションで、ワーカータイプとは異なる ドライバータイプ を選択できます。 これは、ワーカーの種類が大きく、ドライバーのコンピュート使用率が低いパイプラインのコストを削減したり、小さなワーカーが多いワークロードでメモリ不足の問題を回避するために大きなドライバーの種類を選択したりする場合に便利です。
その他の構成に関する考慮事項
パイプラインでは、次の設定オプションも使用できます。
Advanced 製品エディションでは、Delta Live Tables のすべての機能にアクセスできます。必要に応じて、 Pro または Core 製品エディションを使用してパイプラインを実行できます。 「製品エディションの選択」を参照してください。
本番運用でパイプラインを実行する場合は、 Continuous パイプライン モードを使用することを選択できます。 「トリガー パイプライン モードと継続的パイプライン モード」を参照してください。
ワークスペースが 用に設定されていない場合、またはワークロードでレガシーUnity Catalog を使用する必要がある場合はHive metastore 、「レガシー Delta Live Tablesで パイプラインを使用するHive metastore 」を参照してください。
成功または失敗の条件に基づくEメール更新の 通知 を追加します。 「パイプラインイベントのEメール通知の追加」を参照してください。
[Configuration] フィールドを使用して、パイプラインのキーと値のペアを設定します。これらの構成には、次の 2 つの目的があります。
ソース コードで参照できる任意のパラメーターを設定します。 「 Delta Live Tables パイプラインでのパラメーターの使用」を参照してください。
パイプライン設定と 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 で定義された Delta Live Tables のソース コードと、ワークスペース ファイルに格納された Python スクリプトを含めることができます。 次の例には、ノートブックとワークスペース ファイルが含まれています。
{
"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 依存関係の管理」を参照してください。
Databricks ワークスペースに格納されている Python モジュールを使用する
Python コードを Databricks ノートブックに実装するだけでなく、Databricks Git フォルダーまたはワークスペース ファイルを使用して、コードを Python モジュールとして保存できます。 コードを Python モジュールとして格納すると、同じパイプライン内の複数のパイプラインまたはノートブックで使用する共通の機能がある場合に特に便利です。 パイプラインで Python モジュールを使用する方法については、「 Git フォルダーまたはワークスペース ファイルから Python モジュールをインポートする」を参照してください。