次の方法で共有


Delta Live Tables パイプラインのコンピューティングを構成する

この記事では、Delta Live Tables パイプラインのカスタム コンピューティング設定を構成する際の手順と考慮事項について説明します。

サーバーレス パイプラインでは、コンピューティング構成オプションは提供されません。 サーバーレス Delta Live Tables パイプラインの構成を参照してください。

クラスター ポリシーの選択

Delta Live Tables パイプラインを構成および更新するには、コンピューティングをデプロイするためのアクセス許可がユーザーに必要です。 ワークスペース管理者は、Delta Live Tables のコンピューティング リソースへのアクセス権をユーザーに提供するようにクラスター ポリシーを構成できます。 「Delta Live Tables パイプライン コンピューティングの制限を定義する」をご覧ください。

Note

  • クラスター ポリシーは省略可能です。 Delta Live Tables に必要なコンピューティング特権がない場合は、ワークスペース管理者に確認してください。

  • クラスター ポリシーの既定値が正しく適用されるようにするには、パイプライン構成のクラスター構成でtrueapply_policy_default_valuesを設定します。

    {
      "clusters": [
        {
          "label": "default",
          "policy_id": "<policy-id>",
          "apply_policy_default_values": true
        }
      ]
    }
    

クラスター タグを構成する

クラスター タグを使用して、パイプライン クラスターの使用状況を監視できます。 パイプラインを作成または編集するとき、またはパイプライン クラスターの JSON 設定を編集して、Delta Live Tables UI にクラスター タグを追加します。

パイプラインを実行するインスタンスの種類を選択する

既定では、Delta Live Tables では、パイプラインのドライバー ノードとワーカー ノードのインスタンスの種類が選択されます。 必要に応じて、インスタンスの種類を構成できます。

たとえば、パイプラインのパフォーマンスを向上させたり、パイプラインの実行時にメモリの問題に対処したりするには、インスタンスの種類を選択します。 REST API を使用して、または Delta Live Tables UI でパイプラインを 作成 または 編集 するとき、インスタンスの種類を設定できます。

Delta Live Tables UI でパイプラインを作成または編集するとき、インスタンスの種類を設定できます:

  1. [Settings] をクリックします。
  2. パイプライン設定の [詳細] セクションの [Worker の種類][ドライバーの種類] ドロップダウン メニューで、パイプラインのインスタンスの種類を選択します。

高度なコンピューティング構成

Note

コンピューティング リソースはサーバーレス DLT パイプラインに対してフル マネージドであるため、パイプラインに対して Serverless を選択すると、コンピューティング設定は使用できません。

各 Delta Live Tables パイプラインには、次の 2 つのクラスターが関連付けられています:

  • updates クラスターはパイプラインの 更新を処理します。
  • maintenance クラスターは毎日のメンテナンス タスクを実行します。

ワークスペース パイプライン構成 UI を使用して指定されたコンピューティング設定は、更新クラスターとメンテナンス クラスターの両方に適用されます。 これらの設定を個別に変更するには、JSON 構成を編集する必要があります。

これらのクラスターで使用される構成は、パイプライン設定で指定された clusters 属性によって決まります。

クラスター ラベルを使用すると、特定のクラスターの種類にのみ適用されるコンピューティング設定を追加できます。 パイプライン クラスターを構成するときに使用できるラベルは 3 つあります:

Note

クラスター構成を 1 つだけ定義する場合は、クラスター ラベルの設定を省略できます。 ラベルの設定が指定されていない場合、default ラベルはクラスター構成に適用されます。 クラスター ラベルの設定は、さまざまなクラスターの種類の設定をカスタマイズする必要がある場合にのみ必要です。

  • default ラベルは、updatesクラスターとmaintenance クラスターの両方のコンピューティング設定を定義します。 両方のクラスターに同じ設定を適用すると、必要な構成 (ストレージの場所のデータ アクセス資格情報など) がメンテナンス クラスターに確実に適用されるため、メンテナンス実行の信頼性が向上します。
  • maintenance ラベルは、maintenance クラスターだけに適用するコンピューティング設定を定義します。 maintenance ラベルを使用して、default ラベルによって構成された設定をオーバーライドすることもできます。
  • updates ラベルは、updates クラスターだけに適用する設定を定義します。 これを使用して、 maintenance クラスターに適用しない設定を構成します。

defaultupdates ラベルを使用して定義された設定がマージされ、updates クラスターの最終的な構成が作成されます。 defaultupdates ラベルの両方を使用して同じ設定が定義されている場合、updates ラベルで定義された設定は default ラベルで定義された設定よりも優先されます。

次の例では、updates クラスターの構成にのみ追加される Spark 構成パラメーターを 定義します:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
         "key": "value"
      }
    }
  ]
}

Delta Live Tables には、Azure Databricks の他のコンピューティングと同様のクラスター設定オプションが用意されています。 他のパイプライン設定と同様に、クラスターの JSON 構成を変更して、UI に存在しないオプションを指定できます。 「コンピューティング」を参照してください。

Note

Delta Live Tables ランタイムはパイプライン クラスターのライフサイクルを管理し、Databricks Runtime のカスタム バージョンを実行するため、Spark のバージョンやクラスター名など、パイプライン構成で一部のクラスター設定を手動で設定することはできません。 「ユーザーが設定できないクラスター属性」をご覧ください。

更新およびメンテナンス クラスターのインスタンスの種類を構成する

パイプラインの JSON 設定でインスタンスの種類を構成するには、[JSON] ボタンをクリックし、クラスター構成にインスタンスの種類の構成を入力します。

Note

不要なリソースを maintenance クラスターに割り当てないように、この例では updates ラベルを使用して、updates クラスターのみのインスタンスの種類を設定します。 インスタンスの種類を updates クラスターと maintenance クラスターの両方に割り当てるには、default ラベルを使用するか、ラベルの設定を省略します。 ラベルの設定が指定されていない場合、default ラベルはパイプライン クラスター構成に適用されます。 Advanced コンピューティング構成を参照してください。

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "..." : "..."
    }
  ]
}

コンピューティングのシャットダウンを遅延する

クラスターのシャットダウン動作を制御するには、開発または運用モードを使用するか、パイプライン構成で pipelines.clusterShutdown.delay 設定を使用できます。 次の例では、pipelines.clusterShutdown.delay 値を 60 秒に設定します。

{
    "configuration": {
      "pipelines.clusterShutdown.delay": "60s"
    }
}

production モードが有効な場合、pipelines.clusterShutdown.delay の規定値は 0 seconds です。 development モードが有効な場合、規定値は 2 hours です。

Note

Delta Live Tables クラスターは使用されていないときに自動的にシャットダウンされるため、クラスター構成で autotermination_minutes を設定するクラスター ポリシーを参照すると、エラーが発生します。

単一ノード クラスターを作成する

クラスター設定で num_workers を 0 に設定した場合は、クラスターが単一ノード クラスターとして作成されます。 自動スケール クラスターを構成し、 min_workers を 0 に、 max_workers を 0 に設定すると、単一ノード クラスターが作成されます。

自動スケール クラスターを構成し、 min_workers のみを 0 に設定した場合、クラスターは単一ノード クラスターとして作成されません。 このクラスターには、終了するまで常に 1 つ以上のアクティブなワーカーがあります。

Delta Live Tables で単一ノード クラスターを作成するクラスター構成の例を次に示します。

{
    "clusters": [
      {
        "num_workers": 0
      }
    ]
}