この記事では、Lakeflow 宣言型パイプラインのカスタム コンピューティング設定を構成する場合の手順と考慮事項について説明します。
サーバーレス パイプラインでは、コンピューティング構成オプションは提供されません。 サーバーレス パイプラインの構成を参照してください。
クラスター ポリシーの選択
ユーザーは、Lakeflow 宣言型パイプラインを構成および更新するためにコンピューティングをデプロイするためのアクセス許可を持っている必要があります。 ワークスペース管理者は、クラスター ポリシーを構成して、ユーザーに Lakeflow 宣言型パイプラインのコンピューティング リソースへのアクセスを提供できます。 「Lakeflow 宣言型パイプラインコンピューティングの制限を定義する」を参照してください。
注
クラスター ポリシーは省略可能です。 Lakeflow 宣言パイプラインに必要なコンピューティング特権がない場合は、ワークスペース管理者に確認してください。
クラスター ポリシーの既定値が正しく適用されるようにするには、パイプライン構成の
apply_policy_default_values
true
を設定します。{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
クラスター タグを構成する
クラスター タグを使用して、パイプライン クラスターの使用状況を監視できます。 パイプラインを作成または編集するとき、またはパイプライン クラスターの JSON 設定を編集して、Lakeflow 宣言パイプライン UI にクラスター タグを追加します。
パイプラインを実行するインスタンスの種類を選択する
既定では、Lakeflow 宣言パイプラインは、パイプラインのドライバー ノードとワーカー ノードのインスタンスの種類を選択します。 必要に応じて、インスタンスの種類を構成できます。
たとえば、パイプラインのパフォーマンスを向上させたり、パイプラインの実行時にメモリの問題に対処したりするには、インスタンスの種類を選択します。 インスタンスの種類は、REST API を使用してパイプラインを 作成 または 編集 するとき、または Lakeflow 宣言型パイプライン UI で構成できます。
Lakeflow 宣言パイプライン UI でパイプラインを作成または編集するときにインスタンスの種類を構成するには:
- [Settings] をクリックします。
- パイプライン設定の [詳細] セクションの [Worker の種類] と [ドライバーの種類] ドロップダウン メニューで、パイプラインのインスタンスの種類を選択します。
高度なコンピューティング構成
注
コンピューティング リソースはサーバーレスの Lakeflow 宣言型パイプラインに対してフル マネージドであるため、パイプラインに 対してサーバーレス を選択すると、コンピューティング設定は使用できません。
各宣言パイプラインには、次の 2 つのクラスターが関連付けられています。
-
updates
クラスターはパイプラインの 更新を処理します。 -
maintenance
クラスターは毎日のメンテナンス タスクを実行します。
ワークスペース パイプライン構成 UI を使用して指定されたコンピューティング設定は、更新クラスターとメンテナンス クラスターの両方に適用されます。 これらの設定を個別に変更するには、JSON 構成を編集する必要があります。
これらのクラスターで使用される構成は、パイプライン設定で指定された clusters
属性によって決まります。
クラスター ラベルを使用すると、特定のクラスターの種類にのみ適用されるコンピューティング設定を追加できます。 パイプライン クラスターを構成するときに使用できるラベルは 3 つあります:
注
クラスター構成を 1 つだけ定義する場合は、クラスター ラベルの設定を省略できます。 ラベルの設定が指定されていない場合、default
ラベルはクラスター構成に適用されます。 クラスター ラベルの設定は、さまざまなクラスターの種類の設定をカスタマイズする必要がある場合にのみ必要です。
-
default
ラベルは、updates
クラスターとmaintenance
クラスターの両方のコンピューティング設定を定義します。 両方のクラスターに同じ設定を適用すると、必要な構成 (ストレージの場所のデータ アクセス資格情報など) がメンテナンス クラスターに確実に適用されるため、メンテナンス実行の信頼性が向上します。 -
maintenance
ラベルは、maintenance
クラスターだけに適用するコンピューティング設定を定義します。maintenance
ラベルを使用して、default
ラベルによって構成された設定をオーバーライドすることもできます。 -
updates
ラベルは、updates
クラスターだけに適用する設定を定義します。 これを使用して、maintenance
クラスターに適用しない設定を構成します。
default
と updates
ラベルを使用して定義された設定がマージされ、updates
クラスターの最終的な構成が作成されます。
default
と updates
ラベルの両方を使用して同じ設定が定義されている場合、updates
ラベルで定義された設定は default
ラベルで定義された設定よりも優先されます。
次の例では、updates
クラスターの構成にのみ追加される Spark 構成パラメーターを 定義します:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
Lakeflow 宣言型パイプラインには、Azure Databricks の他のコンピューティングと同様のクラスター設定オプションがあります。 他のパイプライン設定と同様に、クラスターの JSON 構成を変更して、UI に存在しないオプションを指定できます。 「コンピューティング」を参照してください。
注
Lakeflow 宣言型パイプライン ランタイムはパイプライン クラスターのライフサイクルを管理し、Databricks Runtime のカスタム バージョンを実行するため、Spark のバージョンやクラスター名など、パイプライン構成で一部のクラスター設定を手動で設定することはできません。 「ユーザーが設定できないクラスター属性」をご覧ください。
更新およびメンテナンス クラスターのインスタンスの種類を構成する
パイプラインの JSON 設定でインスタンスの種類を構成するには、[ JSON ] ボタンをクリックし、クラスター構成にインスタンスの種類の構成を入力します。
注
不要なリソースを 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
です。
注
Lakeflow 宣言型パイプライン クラスターは、使用されていないときに自動的にシャットダウンされるため、クラスター構成で autotermination_minutes
を設定するクラスター ポリシーを参照すると、エラーが発生します。
単一ノード クラスターを作成する
Von Bedeutung
この機能は、プライベート プレビューにあります。 試すには、Azure Databricks の連絡先にお問い合わせください。
クラスター設定で num_workers
を 0 に設定した場合、クラスターは単一ノード クラスターとして作成されます。 自動スケーリング クラスターを構成し、min_workers
を 0 に、max_workers
を 0 に設定すると、単一ノード クラスターが作成されます。
自動スケーリング クラスターを構成し、min_workers
だけを 0 に設定した場合は、クラスターは単一ノード クラスターとして作成されません。 このクラスターには、終了するまで常に 1 つ以上のアクティブなワーカーがあります。
Lakeflow 宣言パイプラインで単一ノード クラスターを作成するためのクラスター構成の例:
{
"clusters": [
{
"num_workers": 0
}
]
}