強化されたオートスケール によるDelta Live Tables パイプラインのクラスター利用の最適化

この記事では、拡張オートスケールを使用して 上のDelta Live Tables パイプラインを最適化する方法について説明します。Databricks

拡張オートスケールは、すべての新しいパイプラインのデフォルトによって有効になります。

サーバレス パイプラインの場合、拡張オートスケールは常にオンになっており、無効にすることはできません。 サーバレス Delta Live Tables パイプラインの設定を参照してください。

enhanced オートスケールとは?

Databricks 拡張オートスケールは、ワークロードの量に基づいてクラスター リソースを自動的に割り当てることで、パイプラインのデータ処理レイテンシへの影響を最小限に抑えながら、クラスターの使用率を最適化します。

拡張オートスケールは、Databricksクラスター オートスケールの機能を改善し、次の機能を備えています。

  • 拡張オートスケールは、ストリーミングワークロードの最適化を実装し、バッチワークロードのパフォーマンスを向上させるための拡張機能を追加します。 Enhanced オートスケールは、ワークロードの変化に応じてマシンを追加または削除することでコストを最適化します。

  • Enhanced オートスケールは、使用率の低いノードをプロアクティブにシャットダウンし、シャットダウン中にタスクが失敗しないことを保証します。 既存のクラスター オートスケール機能は、ノードがアイドル状態の場合にのみノードをスケールダウンします。

拡張オートスケールは、 Delta Live Tables UI で新しいパイプラインを作成するときのデフォルト オートスケール モードです。 既存のパイプラインの拡張オートスケールを有効にするには、UIでパイプライン設定を編集します。 拡張オートスケールは、Delta Live Tables でパイプラインを作成または編集するときにも有効にできます API

enhanced オートスケールはスケールアップやスケールダウンの判断にどのメトリクスを使用していますか?

Enhanced オートスケールは、2つのメトリクスを使用してスケールアップまたはスケールダウンを決定します。

  • タスク スロット使用率: これは、クラスターで使用可能なタスク スロットの合計に対するビジー タスク スロットの数の平均比率です。

  • タスクキューサイズ:これは、タスクスロットで実行を待機しているタスクの数です。

Delta Live Tables パイプラインの拡張オートスケールを有効にする

拡張オートスケールは、 Delta Live Tables UI で新しいパイプラインを作成するときのデフォルト オートスケール モードです。 既存のパイプラインの拡張オートスケールを有効にするには、UIでパイプライン設定を編集します。 拡張オートスケールは、 Delta Live Tables APIを使用してパイプラインを作成または編集するときにも有効にできます。

enhanced オートスケールを使用するには、次のいずれかの操作を行います。

  • UIでパイプラインを作成または編集するときは、 クラスターモード を Enhanced オートスケールDelta Live Tables に設定します。

  • autoscale設定をパイプラインクラスター設定に追加し、modeフィールドを ENHANCEDに設定します。Delta Live Tables パイプラインのコンピュートの設定を参照してください。

Enhanced オートスケールを本番運用 パイプラインに設定する場合は、次のガイドラインを使用してください。

  • Min workers設定はデフォルトのままにしておきます。

  • Max workers設定を、予算とパイプラインの優先度に基づいた値に設定します。

次の例では、最小 5 ワーカー、最大ワーカー 10 の拡張オートスケール クラスターを構成します。 max_workersmin_workers以上である必要があります。

  • Enhanced オートスケールは、 updates クラスターでのみ使用できます。 Legacy オートスケールは maintenance クラスターに使用されます。

  • autoscale 構成には、次の 2 つのモードがあります。

{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

パイプラインが連続実行に設定されている場合は、オートスケールの設定が変更されると自動的に再開されます。 再起動後、待機時間が短時間増加することが予想されます。 この短い期間のレイテンシーの増加の後、クラスター サイズは autoscale 設定に基づいて更新され、パイプラインのレイテンシーは以前のレイテンシー特性に戻る必要があります。

拡張オートスケールを使用するパイプラインのコストを制限する

ワーカーをサーバレス パイプラインに設定することはできません。

[パイプライン コンピュート] ペインで [Max ワーカー] パラメーターを設定すると、オートスケールの上限が設定されます。使用可能なワーカーの数を減らすと、一部のワークロードのレイテンシーが増加する可能性がありますが、コンピュートを集中的に使用する操作中にコンピュート リソースのコストがバーストするのを防ぐことができます。

Databricks では、特定のニーズに合わせてコストと待機時間のトレードオフのバランスを取るために 、最大ワーカー 数の設定を調整することをお勧めします。

パイプラインUIのコンピュートペインでは、オートスケールのMax ワーカーを設定できます

Monitor enhanced オートスケール enabled classic パイプライン

Delta Live Tables ユーザーインターフェースのイベントログを使用して、クラシックパイプラインの拡張オートスケール メトリクスをモニタリングできます。拡張オートスケール イベントのイベント・タイプは autoscale です。 イベントの例を次に示します。

出来事

メッセージ

クラスターのサイズ変更要求が開始されました

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

拡張オートスケール イベントを表示するには、 イベント ログを直接クエリします。