サーバーレス コンピューティングで Delta Live Tables を使用してフル マネージド パイプラインを作成する
Note
サーバーレス DLT パイプラインの適格性と有効化については、「サーバーレス コンピューティングを有効にする」をご覧ください。
サーバーレス DLT パイプラインで Azure Private Link 接続を使う必要がある場合は、Databricks の担当者にお問い合わせください。
この記事では、サーバーレス コンピューティングで Delta Live Tables を使用して、フル マネージド コンピューティングでパイプラインの更新を実行する方法と、パイプラインのパフォーマンスを向上させるサーバーレス コンピューティング機能の詳細について説明します。
サーバーレス DLT パイプラインを使用して、インフラストラクチャを構成してデプロイせずに Delta Live Tables パイプラインを実行します。 サーバーレス DLT パイプラインでは、ユーザーはデータ インジェストと変換に集中し、ワークロード用のコンピューティングの最適化やスケーリングなどのコンピューティング リソースの管理は、Azure Databricks によって効率的に行われます。 サーバーレス DLT パイプラインには、次の機能が含まれています:
- 必要なときにのみ実行されるコンピューティングを自動的に最適化します。
- 信頼性が高く、フル マネージドのコンピューティング リソース。
- 具体化されたビューの増分更新によるより効率的なデータセットの更新。
- パイプラインの更新を実行するコンピューティング リソースの起動を高速化します。
サーバーレス DLT パイプラインには、パイプラインの処理パフォーマンスを最適化し、コンピューティング リソースの効率的な使用をサポートし、パイプラインの実行コストを削減するための次の機能もあります:
- ストリーム パイプライン処理: データ インジェストなどのストリーミング データ ワークロードの使用率、スループット、待機時間を向上させるために、マイクロバッチが "パイプライン化" されます。 言い換えると、サーバーレス DLT パイプラインは、標準の Spark Structured Streaming のようにマイクロバッチを順番に実行する代わりに、マイクロバッチを同時に実行し、コンピューティング リソースの使用率を向上させます。 ストリーム パイプライン処理は、サーバーレス DLT パイプラインで既定で有効になっています。
- 垂直自動スケーリング: サーバーレス DLT パイプラインは、メモリ不足エラーのために失敗することなく Delta Live Tables パイプラインを実行できる最もコスト効率の高いインスタンスの種類を自動的に割り当てることで、Databricks Enhanced Autoscaling によって提供される水平自動スケーリングを強化します。 「垂直自動スケールとは?」を参照してください。
クラスター作成アクセス許可は必要ないため、すべてのワークスペース ユーザーがサーバーレス DLT パイプラインを使ってワークフローを実行できます。
要件
サーバーレス DLT パイプラインを使用するには、ワークスペースで Unity カタログが有効になっている必要があります。
ワークスペースは、サーバーレス対応リージョン内に存在する必要があります。
サーバーレス DLT パイプラインを使用してパイプラインの更新を実行する
重要
サーバーレス DLT パイプラインでは、コンピューティング リソースはフル マネージドであるため、サーバーレス パイプラインの Delta Live Tables UI ではコンピューティング設定を使用できません。 サーバーレスを有効にすると、パイプライン用に構成したすべてのコンピューティング設定が削除されます。 パイプラインをサーバーレス以外の更新プログラムに戻す場合は、これらのコンピューティング設定をパイプライン構成に再追加する必要があります。 パイプラインの JSON 構成の clusters
オブジェクトにコンピューティング設定を手動で追加することもできません。
サーバーレス DLT パイプラインを使用するパイプライン更新を実行するには、パイプラインを作成 または編集するときに [サーバーレス] チェック ボックスをオンにします。
サーバーレス DLT パイプラインで具体化されたビューはどのように更新されますか?
可能な場合は、サーバーレス パイプラインの具体化されたビューのクエリ結果は増分的に更新されます。 増分更新を実行すると、結果は完全な再計算に相当します。 具体化されたビューが増分更新できない場合、更新プロセスでは代わりに完全更新が使用されます。 「具体化されたビューの更新操作」を参照してください。
垂直方向の自動スケールとは?
サーバーレス DLT パイプラインの垂直自動スケーリングにより、最もコスト効率の高い使用可能なインスタンスの種類が自動的に割り当てられるため、メモリ不足エラーが原因で失敗することなく Delta Live Tables パイプラインの更新が実行されます。 垂直方向の自動スケールは、パイプライン更新を実行するためにより大きなインスタンスの種類が必要な場合にスケールアップします。また、より小さいインスタンスの種類で更新を実行できる場合はスケールダウンします。 垂直方向の自動スケールでは、ドライバー ノード、ワーカー ノード、またはドライバーノードとワーカー ノードの両方をスケールアップまたはスケールダウンするかどうかを決定します。
垂直方向の自動スケーリングは、Databricks SQL 具体化されたビューやストリーミング テーブルによって使用されるパイプラインを含め、すべてのサーバーレス DLT パイプラインに使用されます。
垂直方向の自動スケーリングは、メモリ不足エラーが原因で失敗したパイプラインの更新を検出することによって機能します。 これらのエラーが検出されると、垂直方向の自動スケールは、失敗した更新プログラムから収集されたメモリ不足データに基づいて、より大きなインスタンスの種類が割り当てられます。 運用モードでは、新しいコンピューティング リソースを使用する新しい更新が自動的に開始されます。 開発モードでは、新しい更新プログラムを手動で開始するときに、新しいコンピューティング リソースが使用されます。
垂直自動スケーリングによって、割り当てられたインスタンスのメモリが一貫して使用率が低いことが検出されると、次のパイプライン更新で使用するインスタンスの種類がスケールダウンされます。