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

LakeFlow宣言型パイプラインのクラシックコンピュートの設定

このページでは、 LakeFlow 宣言型 パイプライン用のクラシックコンピュートを設定する手順について説明します。 JSON スキーマのリファレンスについては、パイプライン API リファレンスの clusters 定義を参照してください。

クラシック コンピュートで実行するパイプラインを作成するには、ユーザーはまずクラシック コンピュートをデプロイする権限 (無制限の作成権限またはコンピュート ポリシーへのアクセス権) を持っている必要があります。 サーバレス パイプラインにはコンピュート作成権限は必要ありません。 これにより、すべてのワークスペースユーザーがサーバレスパイプラインを利用できるようになります。

注記

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

パイプラインにコンピュートを選択してください

LakeFlow Pipelines Editor からパイプラインのクラシック コンピュートを設定するには:

  1. 設定 をクリックします。
  2. パイプライン設定の コンピュート セクションで、鉛筆アイコン。
  3. チェックが入っている場合は、 サーバレスの チェックを外してください。
  4. コンピュート設定にその他の変更を加えて、 「保存」 をクリックします。

これにより、パイプラインがクラシック コンピュートを使用するように構成され、以下で説明するようにコンピュート設定を編集できるようになります。

LakeFlow Pipelinesエディターの詳細については、 「 LakeFlow Pipelinesエディターを使用したETLパイプラインの開発とデバッグ」を参照してください。

コンピュート ポリシーを選択してください

ワークスペース管理者は、コンピュート ポリシーを構成して、ユーザーにLakeFlow宣言型パイプライン のクラシックコンピュート リソースへのアクセスを提供できます 。 コンピュートポリシーはオプションです。 LakeFlow宣言型パイプラインに必要なコンピュート権限がない場合は、ワークスペース管理者に確認してください。「LakeFlow 宣言型 パイプライン コンピュートの制限を定義する」を参照してください。

パイプラインAPIを使用する場合、コンピュート ポリシー当然の値が正しく適用されるようにするには、 clusters定義で"apply_policy_default_values": true設定します。

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

コンピュートタグの設定

パイプラインのクラシック コンピュート リソースにカスタム タグを追加できます。 タグを使用すると、組織内のさまざまなグループが使用するコンピュート リソースのコストを監視できます。 Databricks 、これらのタグをクラウド リソースと使用システム テーブルに記録された使用ログに適用します。 クラスタータグ UI 設定を使用するか、パイプラインのJSON構成を編集することで、タグを追加できます。

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

デフォルトでは、Lakeflow宣言型パイプラインがパイプラインのドライバーノードとワーカーノードのインスタンスタイプを選択します。 オプションで、インスタンスタイプを設定できます。 たとえば、インスタンスタイプを選択して、パイプラインのパフォーマンスを向上させたり、パイプラインの実行時にメモリの問題に対処したりします。

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

  1. 設定 ボタンをクリックします。
  2. パイプライン設定の コンピュート セクションで、鉛筆アイコン。
  3. 詳細設定 セクションで、パイプラインの ワーカー タイプドライバー タイプの インスタンス タイプを選択します。

アップデートとメンテナンスのクラスターに個別の設定を構成する

各宣言型パイプラインには、パイプラインの更新を処理する更新クラスターと、毎日のメンテナンス タスク (予測的最適化を含む) を実行するメンテナンス クラスターという 2 つの関連するコンピュート リソースがあります。 安心して、コンピュート構成はこれらのクラスターの両方に適用されます。 両方のクラスターに同じ設定を使用すると、ストレージ場所のデータ アクセス資格情報などの必要な構成がメンテナンス クラスターに確実に適用されるため、メンテナンス実行の信頼性が向上します。

2 つのクラスターのうちの 1 つにのみ設定を適用するには、設定JSONオブジェクトに label フィールドを追加します。label フィールドには、次の 3 つの値があります。

  • maintenance: メンテナンスクラスターにのみ設定を適用します。
  • updates: アップデートクラスターにのみ設定を適用します。
  • default: アップデートクラスターとメンテナンスクラスターの両方に設定を適用します。 これは、 label フィールドが省略されている場合のデフォルト値です。

競合する設定がある場合、 updatesまたはmaintenanceラベルの設定がdefaultラベルで定義された設定よりも優先されます。

注記

毎日のメンテナンス クラスターは、特定の場合にのみ使用されます。

  • パイプラインはHive metastoreに保存されます。
  • サーバレスコンピュート利用規約に同意していないワークスペース内のパイプライン。 規約への同意に関してサポートが必要な場合は、Databricks の担当者にお問い合わせください。

例: アップデートクラスターの設定を定義する

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

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

例: アップデートクラスターのインスタンスタイプの構成

maintenanceクラスターに不要なリソースを割り当てないように、この例では updates ラベルを使用して、updates クラスターのみのインスタンスタイプを設定します。

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 に設定します。次に例を示します。

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