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

パイプライン用のクラシック コンピュートを構成する

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

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

注記

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

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

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

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

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

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

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

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

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

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

コンピュートタグの設定

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

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

当然、 Lakeflow Spark宣言型パイプラインは、パイプラインのドライバー ノードとワーカー ノードのインスタンス タイプを選択します。 オプションでインスタンス タイプを設定できます。たとえば、パイプラインのパフォーマンスを向上させるために、またはパイプラインの実行時にメモリの問題を解決するために、インスタンス タイプを選択します。

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 Spark宣言型パイプライン コンピュート リソースは、使用されていないときは自動的にシャットダウンされるため、 autotermination_minutes設定するコンピュート ポリシーは使用できません。 その結果、エラーが発生します。

単一ノードのコンピュートを作成する

単一ノードのコンピュートには、マスターとワーカーの両方として機能するドライバー ノードがあります。 これは、少量のデータを使用するか、分散されていないワークロードを対象としています。

単一ノードのコンピュートを作成するには、 num_workersを 0 に設定します。次に例を示します。

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