パイプライン用のクラシック コンピュートを構成する
このページには、 Lakeflow Spark宣言型パイプライン用のクラシック コンピュートを構成する手順が含まれています。 JSONスキーマのリファレンスについては、パイプラインAPIリファレンスのclusters定義を参照してください。
クラシック コンピュートで実行するパイプラインを作成するには、ユーザーはまずクラシック コンピュートをデプロイする権限 (無制限の作成権限またはコンピュート ポリシーへのアクセス権) を持っている必要があります。 サーバレス パイプラインにはコンピュート作成権限は必要ありません。 これにより、すべてのワークスペースユーザーがサーバレスパイプラインを利用できるようになります。
Lakeflow Spark宣言型パイプライン ランタイムはパイプライン コンピュートのライフサイクルを管理し、 Databricks Runtimeのカスタム バージョンを実行するため、 Sparkバージョンやクラスター名など、パイプライン構成内の一部のコンピュート設定を手動で設定することはできません。 ユーザーが設定できないクラスター属性を参照してください。
パイプラインにコンピュートを選択してください
Lakeflow Pipelines Editor からパイプラインのクラシック コンピュートを設定するには:
- 設定 をクリックします。
- パイプライン設定の コンピュート セクションで、
編集。
- チェックが入っている場合は、 サーバレスの チェックを外してください。
- コンピュート設定にその他の変更を加えて、 「保存」 をクリックします。
これにより、パイプラインがクラシック コンピュートを使用するように構成され、以下で説明するようにコンピュート設定を編集できるようになります。
Lakeflow Pipelinesエディターの詳細については、 「 Lakeflow Pipelinesエディターを使用したETLパイプラインの開発とデバッグ」を参照してください。
コンピュート ポリシーを選択してください
ワークスペース管理者は、パイプラインのクラシック コンピュート リソースへのアクセスをユーザーに提供するようにコンピュート ポリシーを構成できます。 コンピュート ポリシーはオプションです。 必要なコンピュート権限がない場合は、ワークスペース管理者に確認してください。 「 Lakeflow Spark宣言型パイプライン コンピュートの制限を定義する」を参照してください。
パイプラインAPIを使用する場合、コンピュート ポリシー当然の値が正しく適用されるようにするには、 clusters定義で"apply_policy_default_values": true設定します。
{
"clusters": [
{
"label": "default",
"policy_id": "<policy-id>",
"apply_policy_default_values": true
}
]
}
コンピュートタグの設定
パイプラインのクラシック コンピュート リソースにカスタム タグを追加できます。 タグを使用すると、組織内のさまざまなグループが使用するコンピュート リソースのコストを監視できます。 Databricks 、これらのタグをクラウド リソースと使用システム テーブルに記録された使用ログに適用します。 クラスタータグ UI 設定を使用するか、パイプラインのJSON構成を編集することで、タグを追加できます。
パイプラインを実行するインスタンスタイプを選択する
当然、 Lakeflow Spark宣言型パイプラインは、パイプラインのドライバー ノードとワーカー ノードのインスタンス タイプを選択します。 オプションでインスタンス タイプを設定できます。たとえば、パイプラインのパフォーマンスを向上させるために、またはパイプラインの実行時にメモリの問題を解決するために、インスタンス タイプを選択します。
Lakeflow Pipelines Editor でパイプラインを作成または編集するときにインスタンス タイプを設定するには:
- 設定 ボタンをクリックします。
- パイプライン設定の コンピュート セクションで、
。
- 詳細設定 セクションで、パイプラインの ワーカー タイプ と ドライバー タイプの インスタンス タイプを選択します。
アップデートとメンテナンスのクラスターに個別の設定を構成する
各宣言型パイプラインには、パイプラインの更新を処理する更新クラスターと、毎日のメンテナンス タスク (予測的最適化を含む) を実行するメンテナンス クラスターという 2 つの関連するコンピュート リソースがあります。 デフォルトでは、コンピュート構成はこれらのクラスターの両方に適用されます。 両方のクラスターに同じ設定を使用すると、ストレージ場所のデータ アクセス資格情報などの必要な構成がメンテナンス クラスターに確実に適用されるため、メンテナンス実行の信頼性が向上します。
2 つのクラスターのうちの 1 つにのみ設定を適用するには、設定JSONオブジェクトに label フィールドを追加します。label フィールドには、次の 3 つの値があります。
maintenance: メンテナンスクラスターにのみ設定を適用します。updates: アップデートクラスターにのみ設定を適用します。default: アップデートクラスターとメンテナンスクラスターの両方に設定を適用します。 これは、labelフィールドが省略されている場合のデフォルト値です。
競合する設定がある場合、 updatesまたはmaintenanceラベルの設定がdefaultラベルで定義された設定よりも優先されます。
毎日のメンテナンス クラスターは、特定の場合にのみ使用されます。
- パイプラインはHive metastoreに保存されます。
- サーバレスコンピュート利用規約に同意していないワークスペース内のパイプライン。 規約への同意に関してサポートが必要な場合は、Databricks の担当者にお問い合わせください。
例: アップデートクラスターの設定を定義する
次の例では、updates クラスターの構成にのみ追加される Spark 構成パラメーターを定義しています。
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
例: アップデートクラスターのインスタンスタイプの構成
maintenanceクラスターに不要なリソースを割り当てないように、この例では updates ラベルを使用して、updates クラスターのみのインスタンスタイプを設定します。
{
"clusters": [
{
"label": "updates",
"node_type_id": "n1-highmem-16",
"driver_node_type_id": "n1-standard-4",
"...": "..."
}
]
}
コンピュートのシャットダウンを遅らせる
クラスターのシャットダウン動作を制御するには、開発モードまたは本番運用モードを使用するか、パイプライン構成の pipelines.clusterShutdown.delay 設定を使用します。 次の例では、 pipelines.clusterShutdown.delay 値を 60 秒に設定します。
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
productionモードが有効な場合、 pipelines.clusterShutdown.delayのデフォルト値は0 secondsです。developmentモードが有効な場合、デフォルト値は2 hoursです。
Lakeflow Spark宣言型パイプライン コンピュート リソースは、使用されていないときは自動的にシャットダウンされるため、 autotermination_minutes設定するコンピュート ポリシーは使用できません。 その結果、エラーが発生します。
単一ノードのコンピュートを作成する
単一ノードのコンピュートには、マスターとワーカーの両方として機能するドライバー ノードがあります。 これは、少量のデータを使用するか、分散されていないワークロードを対象としています。
単一ノードのコンピュートを作成するには、 num_workersを 0 に設定します。次に例を示します。
{
"clusters": [
{
"num_workers": 0
}
]
}