Delta Live Tables パイプラインを構成する

この記事では、ワークスペース UI を使用した Delta Live Tables パイプラインの基本的な構成について説明します。

この記事の構成手順では、Unity Catalog を使用します。 従来のHive metastoreでパイプラインを設定する手順については 、「 レガシーのHive metastoreでDelta Live Tables パイプラインを使用する 」を参照してください。

注:

UI には、JSON で設定を表示および編集するオプションがあります。 ほとんどの設定は、UI または JSON 仕様のいずれかで構成できます。 一部の詳細オプションは、JSON 構成を使用してのみ使用できます。

JSON 設定ファイルは、パイプラインを新しい環境にデプロイする場合や、CLI または REST API を使用する場合にも役立ちます。

Delta Live Tables JSON 構成設定の完全なリファレンスについては、「 Delta Live Tables パイプライン構成」を参照してください。

新しい Delta Live Tables パイプラインを構成する

新しい Delta Live Tables パイプラインを構成するには、次の操作を行います。

  1. サイドバーの 「Delta Live Tables 」をクリックします。

  2. 「パイプラインの作成」をクリックします。

  3. 一意の パイプライン名を指定します。

  4. (オプション) ファイルピッカーアイコン ファイル ピッカーを使用して、ノートブックとワークスペース ファイルを ソース コードとして構成します。

    • ソース コードを追加しない場合は、パイプラインの新しいノートブックが作成されます。 ノートブックはユーザーディレクトリの新しいディレクトリに作成され、パイプラインの作成後に、このノートブックにアクセスするためのリンクがパイプラインの詳細ペインのソースコードフィールドに表示されます。

      • このノートブックには、パイプラインを作成すると、パイプラインの詳細パネルの [ソース コード] フィールドの下に表示される URL からアクセスできます。

    • ソースコードを追加 」ボタンを使用して、ソースコードアセットを追加します。

  5. Unity Catalog[ストレージ オプション] で [] を選択します。

  6. データを公開する カタログ を選択します。

  7. カタログで スキーマ を選択します。 パイプラインで定義されているすべてのストリーミング テーブルと具体化されたビューは、このスキーマで作成されます。

  8. コンピュートセクションで、Use Å Å AccelerationPhoton横のボックスにチェックを入れます。コンピュート構成に関するその他の考慮事項については、 コンピュート構成オプションを参照してください。

  9. [作成] をクリックします。

これらの推奨構成では、 トリガー モードで実行するように設定された新しいパイプラインを作成し、 Current チャンネルを使用します。 この構成は、開発やテストなど、多くのユースケースに推奨され、スケジュールに従って実行する必要がある本番運用ワークロードに適しています。 パイプラインのスケジューリングの詳細については、「Delta Live Tables パイプライン タスク for ジョブ」を参照してください。

コンピュート コンフィギュレーション オプション

Databricks 、 常にエンハンスト オートスケールを使用することをお勧めします。 他のコンピュート構成のデフォルト値は、多くのパイプラインで適切に機能します。

次の設定を使用して、コンピュート構成をカスタマイズします。

  • クラスタータグを使用して、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 モジュールをインポートする」を参照してください。