LakeFlow宣言型パイプラインのクラシックコンピュートの設定
このページでは、 LakeFlow 宣言型 パイプライン用のクラシックコンピュートを設定する手順について説明します。 JSON スキーマのリファレンスについては、パイプライン API リファレンスの clusters
定義を参照してください。
クラシック コンピュートで実行するパイプラインを作成するには、ユーザーはまずクラシック コンピュートをデプロイする権限 (無制限の作成権限またはコンピュート ポリシーへのアクセス権) を持っている必要があります。 サーバレス パイプラインにはコンピュート作成権限は必要ありません。 これにより、すべてのワークスペースユーザーがサーバレスパイプラインを利用できるようになります。
LakeFlow 宣言型 パイプラインランタイムは、 パイプラインコンピュート のライフサイクルを管理し、 のカスタムバージョンのDatabricks Runtimeを実行するため、Sparkバージョン名やクラスタリング名など、一部のコンピュート設定をパイプラインコンピュート設定で手動で設定することはできません。ユーザーが設定できないクラスタリング属性を参照してください。
パイプラインにコンピュートを選択してください
LakeFlow Pipelines Editor からパイプラインのクラシック コンピュートを設定するには:
- 設定 をクリックします。
- パイプライン設定の コンピュート セクションで、
。
- チェックが入っている場合は、 サーバレスの チェックを外してください。
- コンピュート設定にその他の変更を加えて、 「保存」 をクリックします。
これにより、パイプラインがクラシック コンピュートを使用するように構成され、以下で説明するようにコンピュート設定を編集できるようになります。
LakeFlow Pipelinesエディターの詳細については、 「 LakeFlow Pipelinesエディターを使用したETLパイプラインの開発とデバッグ」を参照してください。
コンピュート ポリシーを選択してください
ワークスペース管理者は、コンピュート ポリシーを構成して、ユーザーにLakeFlow宣言型パイプライン のクラシックコンピュート リソースへのアクセスを提供できます 。 コンピュートポリシーはオプションです。 LakeFlow宣言型パイプラインに必要なコンピュート権限がない場合は、ワークスペース管理者に確認してください。「LakeFlow 宣言型 パイプライン コンピュートの制限を定義する」を参照してください。
パイプラインAPIを使用する場合、コンピュート ポリシー当然の値が正しく適用されるようにするには、 clusters
定義で"apply_policy_default_values": true
設定します。
{
"clusters": [
{
"label": "default",
"policy_id": "<policy-id>",
"apply_policy_default_values": true
}
]
}
コンピュートタグの設定
パイプラインのクラシック コンピュート リソースにカスタム タグを追加できます。 タグを使用すると、組織内のさまざまなグループが使用するコンピュート リソースのコストを監視できます。 Databricks 、これらのタグをクラウド リソースと使用システム テーブルに記録された使用ログに適用します。 クラスタータグ UI 設定を使用するか、パイプラインのJSON構成を編集することで、タグを追加できます。
パイプラインを実行するインスタンスタイプを選択する
デフォルトでは、Lakeflow宣言型パイプラインがパイプラインのドライバーノードとワーカーノードのインスタンスタイプを選択します。 オプションで、インスタンスタイプを設定できます。 たとえば、インスタンスタイプを選択して、パイプラインのパフォーマンスを向上させたり、パイプラインの実行時にメモリの問題に対処したりします。
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": "r6i.xlarge",
"driver_node_type_id": "i3.large",
"...": "..."
}
]
}
コンピュートのシャットダウンを遅らせる
クラスターのシャットダウン動作を制御するには、開発モードまたは本番運用モードを使用するか、パイプライン構成の pipelines.clusterShutdown.delay
設定を使用します。 次の例では、 pipelines.clusterShutdown.delay
値を 60 秒に設定します。
{
"configuration": {
"pipelines.clusterShutdown.delay": "60s"
}
}
production
モードが有効な場合、 pipelines.clusterShutdown.delay
のデフォルト値は0 seconds
です。development
モードが有効な場合、デフォルト値は2 hours
です。
LakeFlow 宣言型 パイプライン コンピュート リソースは使用しないときに自動的にシャットダウンされるため、 autotermination_minutes
を設定するコンピュート ポリシーを使用することはできません。これにより、エラーが発生します。
単一ノードのコンピュートを作成する
単一ノードのコンピュートには、マスターとワーカーの両方として機能するドライバー ノードがあります。 これは、少量のデータを使用するか、分散されていないワークロードを対象としています。
単一ノードのコンピュートを作成するには、 num_workers
を 0 に設定します。次に例を示します。
{
"clusters": [
{
"num_workers": 0
}
]
}