拡張自動スケーリングを使用して、Delta Live Tables パイプラインのクラスター使用率を最適化する
Databricks 拡張自動スケールでは、ワークロード ボリュームに基づいてクラスター リソースを自動的に割り当てることでクラスター使用率が最適化され、パイプラインのデータ処理待機時間への影響が最小限に抑えられます。
拡張自動スケールは、次の機能を使用して Azure Databricks クラスターの自動スケール機能を向上させます。
- 拡張自動スケールでは、ストリーミング ワークロードの最適化が実装され、バッチ ワークロードのパフォーマンスを向上させるための機能強化が追加されます。 拡張自動スケールにより、ワークロードの変化に合わせてマシンが追加または削除され、コストが最適化されます。
- 拡張自動スケールでは、シャットダウン中に失敗したタスクがないことを保証しながら、使用率が低いノードが予防的にシャットダウンされます。 既存のクラスターの自動スケール機能では、ノードがアイドル状態の場合にのみノードをスケールダウンします。
拡張自動スケールは、Delta Live Tables UI で新しいパイプラインを作成するときの既定の自動スケール モードです。 既存のパイプラインの拡張自動スケールを有効にするには、UI でパイプライン設定を編集します。 Delta Live Tables API を使用してパイプラインを作成または編集するときに、拡張自動スケールを有効にすることもできます。
拡張自動スケールを有効にする
Note
サーバーレス DLT パイプラインの場合、コンピューティング リソースは自動的に最適化されるため、パイプラインに対して [サーバーレス] を選択したとき、Databricks 拡張自動スケーリングの設定は使用できません。
サーバーレス DLT パイプラインを有効にする方法については、Azure Databricks アカウント チームにお問い合わせください。
拡張自動スケールを使用するには、次のいずれかの操作を行います。
- Delta Live Tables UI でパイプラインを作成するとき、またはパイプラインを編集するときに、[クラスター モード] を [拡張自動スケール] に設定します。
- パイプラインのクラスター構成に
autoscale
設定を追加し、mode
フィールドをENHANCED
に設定します。 「コンピューティング設定を構成する」をご覧ください。
運用パイプラインの拡張自動スケーリングを構成する場合は、以下のガイドラインに従ってください。
Min workers
設定は既定値のままにします。Max workers
設定は、予算とパイプラインの優先度に基づいた値に設定します。
次の例では、少なくとも 5 人のワーカーと最大 10 人のワーカーで拡張自動スケール クラスターを構成します。 max_workers
は min_workers
以上である必要があります。
Note
- 拡張自動スケールは、
updates
クラスターでのみ使用できます。 既存の自動スケール機能は、maintenance
クラスターに使用されます。 autoscale
構成には、次の 2 つのモードがあります。LEGACY
: クラスターの自動スケールを使用します。ENHANCED
: 拡張自動スケールを使用します。
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
パイプラインが継続的に実行されるように構成されている場合、自動スケール構成が変更された後、パイプラインは自動的に再起動されます。 再起動後、待機時間が長くなる可能性があります。 この一時的な待機時間の増加に続いて、autoscale
構成に基づいてクラスター サイズが更新され、パイプラインの待機時間が以前の待機時間特性に戻ります。
拡張自動スケールが有効なパイプラインの監視
Delta Live Tables ユーザー インターフェイスでイベント ログを使用して、拡張自動スケール メトリックを監視できます。 拡張自動スケール イベントには、autoscale
イベントの種類があります。 イベントの例を次に示します。
Event | Message |
---|---|
クラスター サイズ変更要求が開始されました | Scaling [up or down] to <y> executors from current cluster size of <x> |
クラスター サイズ変更要求が成功しました | Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED |
クラスター サイズ変更要求が部分的に成功しました | Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED |
クラスター サイズ変更要求が失敗しました | Achieved cluster size <x> for cluster <cluster-id> with status FAILED |
また、イベント ログに直接クエリを実行して、拡張自動スケール イベントを表示することもできます。
- イベント ログに対してバックログ メトリックのクエリを実行するには、「イベント ログにクエリを実行してデータ バックログを監視する」を参照してください。
- 拡張自動スケールの操作中にクラスターのサイズ変更の要求と応答を監視するには、「イベント ログで拡張自動スケーリング イベントを監視する」を参照してください。