サーバーレス Delta Live Tables パイプラインを構成する
この記事では、サーバーレス Delta Live Tables パイプラインの構成について説明します。
Databricks では、サーバーレスを使用して新しいパイプラインを開発することをお勧めします。 一部のワークロードでは、クラシック コンピューティングの構成または従来の Hive メタストアの操作が必要になる場合があります。 「デルタ ライブ テーブル パイプラインのコンピューティングの構成従来の Hive メタストアで Delta Live Tables パイプラインを使用するを参照してください。
Note
サーバーレス パイプラインでは、常に Unity カタログが使用されます。 Delta Live テーブルの Unity カタログはパブリック プレビュー段階であり、いくつかの制限があります。 「Unity Catalog を Delta Live Tables パイプラインで使う」を参照してください。
サーバーレス パイプラインの JSON 構成の
clusters
オブジェクトにコンピューティング設定を手動で追加することはできません。 この操作を行おうとすると、エラーが発生します。サーバーレス DLT パイプラインの適格性と有効化については、「サーバーレス コンピューティングを有効にする」をご覧ください。
サーバーレス DLT パイプラインで Azure Private Link 接続を使う必要がある場合は、Databricks の担当者にお問い合わせください。
要件
サーバーレス パイプラインを使用するには、ワークスペースで Unity カタログが有効になっている必要があります。
ワークスペースは、サーバーレス対応リージョン内に存在する必要があります。
サーバーレス パイプラインの推奨される構成
重要
サーバーレス パイプラインを構成するためにクラスター作成アクセス許可は必要ありません。 既定では、すべてのワークスペース ユーザーはサーバーレス パイプラインを使用できます。
Azure Databricks ではすべてのインフラストラクチャが管理されるため、サーバーレス パイプラインではほとんどの構成オプションが削除されます。 サーバーレス パイプラインを構成するには、次の操作を行います。
- サイドバーの [ Delta ライブ テーブル をクリックします。
- [パイプライン 作成] をクリックします。
- 一意の Pipeline 名を指定します。
- Serverless の横にあるチェック ボックスをオンにします。
- (省略可能) ファイル ピッカーを使用して、ノートブックとワークスペース ファイルを Source コードとして構成します。
- ソース コードを追加しない場合は、パイプライン用に新しいノートブックが作成されます。 ノートブックはユーザー ディレクトリ内の新しいディレクトリに作成され、パイプラインを作成した後、このノートブックにアクセスするためのリンクが Pipeline の詳細 ペインの Source code フィールドに表示されます。
- パイプラインを作成すると、このノートブックにアクセスするためのリンクが Source code フィールドの Pipeline details パネルに表示されます。
- [ソース コードの追加] ボタンを使用して、ソース コード資産を追加します。
- ソース コードを追加しない場合は、パイプライン用に新しいノートブックが作成されます。 ノートブックはユーザー ディレクトリ内の新しいディレクトリに作成され、パイプラインを作成した後、このノートブックにアクセスするためのリンクが Pipeline の詳細 ペインの Source code フィールドに表示されます。
- Catalog を選択してデータを発行します。
- カタログ内の Schema を選択します。 パイプラインで定義されているすべてのストリーミング テーブルと具体化されたビューは、このスキーマに作成されます。
- Create をクリックしてください。
これらの推奨される構成では、 Triggered モードと Current チャネルで実行するように構成された新しいパイプラインが作成されます。 この構成は、開発やテストを含む多くのユース ケースに推奨され、スケジュールに従って実行する運用ワークロードに適しています。 パイプラインのスケジュール設定の詳細については、「ジョブの Delta Live Tables パイプライン タスクを参照してください。
Unity カタログで構成された既存のパイプラインをサーバーレスを使用するように変換することもできます。 サーバーレスを使用するには、既存のパイプラインを変換するを参照してください。
その他の構成に関する考慮事項
サーバーレス パイプラインでは、次の構成オプションも使用できます。
- 運用環境でパイプラインを実行するときに、 Continuous パイプライン モードを使用することもできます。 トリガーされたパイプライン モードと継続的パイプライン モードを参照してください。
- 成功または失敗の条件に基づいて電子メールの更新に Notifications を追加します。 「パイプライン イベントの通知を追加する」を参照してください。
- Configuration フィールドを使用して、パイプラインのキーと値のペアを設定します。 これらの構成は、次の 2 つの目的に役立ちます。
- ソース コードで参照できる任意のパラメーターを設定します。 「 デルタ ライブ テーブル パイプラインでパラメーターを使用するを参照してください。
- パイプライン設定と Spark 構成を構成します。 Delta Live Tables のプロパティ リファレンスを参照してください。
- Preview チャネルを使用して、保留中の Delta Live Tables ランタイムの変更と試用版の新機能に対してパイプラインをテストします。
予算ポリシー
重要
この機能はパブリック プレビュー段階にあります。
予算ポリシーを使用すると、組織はサーバーレスの使用状況にカスタム タグを適用して、詳細な課金属性を設定できます。 [サーバーレス] チェック ボックスをオンにすると、パイプラインに適用するポリシーを選択できる Budget ポリシー設定が表示されます。 タグは予算ポリシーから継承され、ワークスペース管理者のみが編集できます。
Note
予算ポリシーが割り当てられた後、既存のパイプラインにポリシーのタグが自動的に付けされることはありません。 ポリシーをアタッチする場合は、既存のパイプラインを手動で更新する必要があります。
予算ポリシーの詳細については、「 予算ポリシーを使用したサーバーレス使用の実行」を参照してください。
サーバーレス パイプラインの機能
サーバーレス パイプラインには、構成の簡略化に加えて、次の機能があります。
具体化されたビューの増分更新: 具体化されたビューの更新は、可能な限り増分的に更新されます。 増分更新の結果は、完全な再計算と同じです。 結果を増分的に計算できない場合、更新では完全更新が使用されます。 具体化されたビューについては、「 Incremental refresh」を参照してください。
ストリーム パイプライン処理: データ インジェストなどのストリーミング データ ワークロードの使用率、スループット、待機時間を向上させるために、マイクロバッチが "パイプライン化" されます。 つまり、サーバーレス DLT パイプラインは、標準の Spark Structured Streaming のようにマイクロバッチを順番に実行する代わりに、マイクロバッチを同時に実行し、コンピューティング リソースの使用率を向上させます。 ストリーム パイプライン処理は、サーバーレス DLT パイプラインで既定で有効になっています。
垂直自動スケール: サーバーレス DLT パイプラインは、メモリ不足エラーのために失敗することなく Delta Live Tables パイプラインを実行できる最もコスト効率の高いインスタンスの種類を自動的に割り当てることで、Databricks によって提供される水平自動スケールに追加されます。 「垂直自動スケールとは?」を参照してください。
垂直方向の自動スケールとは?
サーバーレス DLT パイプラインの垂直自動スケーリングにより、最もコスト効率の高い使用可能なインスタンスの種類が自動的に割り当てられるため、メモリ不足エラーが原因で失敗することなく Delta Live Tables パイプラインの更新が実行されます。 垂直方向の自動スケールは、パイプライン更新を実行するためにより大きなインスタンスの種類が必要な場合にスケールアップします。また、より小さいインスタンスの種類で更新を実行できる場合はスケールダウンします。 垂直方向の自動スケールでは、ドライバー ノード、ワーカー ノード、またはドライバーノードとワーカー ノードの両方をスケールアップまたはスケールダウンするかどうかを決定します。
垂直方向の自動スケーリングは、Databricks SQL 具体化されたビューやストリーミング テーブルによって使用されるパイプラインを含め、すべてのサーバーレス DLT パイプラインに使用されます。
垂直方向の自動スケーリングは、メモリ不足エラーが原因で失敗したパイプラインの更新を検出することによって機能します。 垂直方向の自動スケーリングでは、失敗した更新プログラムから収集されたメモリ不足データに基づいてこれらのエラーが検出されると、より大きなインスタンスの種類が割り当てられます。 運用モードでは、新しいコンピューティング リソースを使用する新しい更新が自動的に開始されます。 開発モードでは、新しい更新プログラムを手動で開始するときに、新しいコンピューティング リソースが使用されます。
垂直自動スケーリングによって、割り当てられたインスタンスのメモリが一貫して使用率が低いことが検出されると、次のパイプライン更新で使用するインスタンスの種類がスケールダウンされます。
サーバーレスを使用するように既存のパイプラインを変換する
Unity カタログで構成された既存のパイプラインをサーバーレス パイプラインに変換できます。 次の手順を完了します。
- サイドバーの [ Delta ライブ テーブル をクリックします。
- 一覧で目的のパイプラインの名前をクリックします。
- [設定]をクリックします。
- Serverless の横にあるチェック ボックスをオンにします。
- [ 保存して開始] をクリックします。
重要
サーバーレスを有効にすると、パイプライン用に構成したすべてのコンピューティング設定が削除されます。 パイプラインをサーバーレス以外の更新プログラムに戻す場合は、必要なコンピューティング設定をパイプライン構成に再構成する必要があります。
サーバーレス パイプラインの DBU の使用状況を確認するにはどうすればよいでしょうか。
Azure Databricks システム テーブルの一部である課金対象の使用状況テーブルに対してクエリを実行することで、サーバーレス DLT パイプラインの DBU 使用率を確認できます。 「サーバーレス DLT パイプラインの DBU 消費量について」を参照してください。