メインコンテンツまでスキップ

LakeFlow宣言型パイプラインのコンピュートを構成する

この記事では、 LakeFlow 宣言型パイプラインのカスタム コンピュート設定を構成する際の手順と考慮事項について説明します。

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

ユーザーは、LakeFlow宣言型パイプラインを構成および更新するためにコンピュートをデプロイする権限を持っている必要があります。 ワークスペース 管理者は、クラスターポリシー を構成して、 LakeFlow 宣言型パイプラインのコンピュート リソースへのアクセスをユーザーに提供できます。 LakeFlow 宣言型パイプライン コンピュートに対する制限の定義を参照してください。

注記
  • クラスターポリシーはオプションです。 宣言型パイプラインに必要なコンピュート権限がない場合は LakeFlow ワークスペース管理者に確認してください。

  • クラスターポリシー デフォルト値が正しく適用されるようにするには、パイプライン構成のクラスター構成apply_policy_default_valuestrue に設定します。

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

クラスタータグの構成

クラスタータグを使用して、パイプライン クラスタリングの使用状況を監視できます。LakeFlow 宣言型パイプライン UI でクラスタータグを追加するには、パイプラインを作成または編集する場合、またはパイプライン クラスタリングのJSON設定を編集します。

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

デフォルトでは、LakeFlow宣言型パイプラインがパイプラインのドライバーノードとワーカーノードのインスタンスタイプを選択します。 オプションで、インスタンスタイプを設定できます。

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

LakeFlow 宣言型パイプライン UI でパイプラインを作成または編集するときにインスタンスタイプを設定するには:

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

高度なコンピュート構成

各宣言型パイプラインには、次の 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 構成パラメーターを定義しています。

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

LakeFlow 宣言型パイプラインには、 Databricks上の他のコンピュートと同様のクラスタリング設定オプションがあります。 他のパイプライン設定と同様に、クラスタリングの JSON 構成を変更して、UI に存在しないオプションを指定できます。 コンピュートを参照してください。

注記

LakeFlow 宣言型パイプライン ランタイムは、パイプライン クラスタリングのライフサイクルを管理し、カスタム バージョンの Databricks Runtimeを実行するため、Spark バージョンやクラスタリング名など、一部のクラスタリング設定をパイプライン構成で手動で設定することはできません。ユーザーが設定できないクラスタリング属性を参照してください。

更新およびメンテナンスクラスターのインスタンスタイプの設定

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

注記

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

JSON
{
"clusters": [
{
"label": "updates",
"node_type_id": "n1-highmem-16",
"driver_node_type_id": "n1-standard-4",
"...": "..."
}
]
}

コンピュートシャットダウンの遅延

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

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

production モードが有効になっている場合、pipelines.clusterShutdown.delay のデフォルト値は 0 secondsです。development モードが有効になっている場合、デフォルト値は 2 hoursです。

注記

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

シングルノード クラスターを作成する

クラスター設定で num_workers を 0 に設定すると、クラスターは シングルノード クラスターとして作成されます。 オートスケール クラスターを構成し、 min_workers を 0 に、 max_workers を 0 に設定すると、シングルノード クラスターが作成されます。

オートスケール クラスターを構成し、 min_workers のみを 0 に設定した場合、クラスターはシングルノード クラスターとして作成されません。 クラスターには、終了するまで常に少なくとも 1 人のアクティブなワーカーがいます。

LakeFlow宣言型パイプラインで単一ノード クラスターを作成するためのクラスター構成の例 。

JSON
{
"clusters": [
{
"num_workers": 0
}
]
}
Was this article helpful?