Configure コンピュート for ジョブ

この記事には、 Databricks ジョブのコンピュートを構成するための推奨事項とリソースが含まれています。

重要

サーバレス コンピュート for ジョブには、次のような制限があります。

  • 継続的なスケジューリングはサポートされていません。

  • 構造化ストリーミングでは、デフォルトまたは時間ベースのインターバルトリガーはサポートされていません。

その他の制限事項については、 サーバレス コンピュートの制限事項を参照してください。

各ジョブには、1 つ以上のタスクを含めることができます。 コンピュート リソースは、タスクごとに定義します。 同じジョブに対して定義された複数のタスクは、同じコンピュート リソースを使用できます。

複数のテイクと関連するクラウド コンピュート リソースを持つジョブを示す画像

ジョブのコンピュートを設定するにはどうすればよいですか?

クラシック ジョブ コンピュートは Databricks ジョブ UI から直接設定され、これらの設定はジョブ定義の一部です。 他のすべての使用可能なコンピュート タイプは、他のワークスペース アセットと共に構成を保存します。 次の表に詳細を示します。

クラスタータイプ

詳細

Classic ジョブ コンピュート

クラシックジョブのコンピュートは、万能コンピュートと同じUIと設定を使用して設定します。 コンピュート設定リファレンスを参照してください。

サーバレス コンピュート for ジョブ

サーバレス コンピュート for ジョブは、それをサポートするすべてのタスクのデフォルトです。 Databricks サーバレス コンピュートのコンピュート設定を管理します。 ワークフローについては、サーバレス コンピュートを使用して Databricks ジョブを実行するを参照してください。このオプションを表示するには、ワークスペース管理者がサーバレス コンピュートを有効にする必要があります。 Enable サーバレス コンピュートを参照してください。

SQLウェアハウス

Serverless and pro SQL warehouses are configured by workspace admins or users with unrestricted cluster creation privileges. You configure tasks to run against existing SQL warehouses. See Connect to a SQL warehouse.

Delta Live Tables パイプライン コンピュート

Delta Live Tables パイプラインのコンピュート設定は、パイプラインの設定時に構成します。「コンピュートの設定を構成する」を参照してください。nn Databricks manages コンピュート リソース for サーバレス Delta Live Tables パイプライン. Create フルマネージド パイプライン using Delta Live Tables with サーバレス コンピュートを参照してください。

汎用コンピューティング

オプションで、従来の汎用コンピュートを使用してタスクを設定できます。 Databricks では、この構成を本番運用ジョブにはお勧めしません。 「コンピュート設定リファレンス」および「万能コンピュートをジョブに使用すべきか」を参照してください。

Share コンピュート across task

同じジョブ コンピュート リソースを使用するようにタスクを構成して、複数のタスクを調整するジョブでリソースの使用を最適化します。 タスク間でコンピュートを共有すると、起動時間に関連するレイテンシーを短縮できます。

You can use a single job compute resource to run all tasks that are part of the job or multiple job resources optimized for specific workloads. Any job compute configured as part of a job is available for all other tasks in the job.

次の表は、1 つのタスク用に構成されたジョブ コンピュートと、タスク間で共有されるジョブ コンピュートの違いを示しています。

1 つのタスク

タスク間で共有

起動

タスクの実行が開始されたとき。

コンピュート リソースを使用するように構成された最初のタスク実行が開始されると、そのタスク実行が開始されます。

終了

タスクの実行後。

最後のタスクの後、コンピュート リソースを使用するように構成しました。

アイドルコンピュート

該当なし。

コンピュートはオンでアイドル状態のままで、タスクはコンピュート リソースを使用していません。

共有ジョブ クラスターは、スコープが 1 つのジョブ実行に限定され、他のジョブや同じジョブの実行では使用できません。

ライブラリーは、共有ジョブ・クラスター構成で宣言することはできません。 タスク設定で依存ライブラリを追加する必要があります。

Review, configure, and スワップ ジョブ コンピュート

ジョブ詳細パネルのコンピュートセクションには、現在のジョブのタスクに設定されたすべてのコンピュートが一覧表示されます。

コンピュート リソースを使用するように構成されたタスクは、コンピュート仕様にカーソルを合わせると、タスク グラフで強調表示されます。

スワップ ボタンを使用して、コンピュート リソースに関連付けられているすべてのタスクのコンピュートを変更します。

Classic ジョブ コンピュート リソースには [構成 ] オプションがあります。 その他のコンピュート リソースには、コンピュート構成の詳細を表示および変更するオプションがあります。

クラシック ジョブ コンピュートの構成に関する推奨事項

このセクションでは、一部のワークフローに役立つ機能と構成に関する一般的な推奨事項に焦点を当てます。 コンピュート リソースのサイズとタイプを設定するための具体的な推奨事項は、ワークロードによって異なります。

Databricks では、 Photon アクセラレーションを有効にし、最新の Databricks Runtime バージョンを使用し、 Unity Catalog用に構成されたコンピュートを使用することをお勧めします。

サーバレス コンピュート for ジョブは、すべてのインフラストラクチャを管理するため、次の考慮事項を排除します。 ワークフローについては、サーバレス コンピュートを使用して Databricks ジョブを実行するを参照してください。

手記

構造化ストリーミングワークフローには、特定の推奨事項があります。 構造化ストリーミングについては、本番運用に関する考慮事項を参照してください。

共有アクセスモードを使用する

Databricks では、ジョブに共有アクセス モードを使用することをお勧めします。 「アクセスモード」を参照してください。

手記

共有アクセス モードでは、一部のワークロードと機能はサポートされていません。 Databricks では、これらのワークロードに対してシングル ユーザー アクセス モードをお勧めします。 Unity Catalogのコンピュート アクセス モードの制限を参照してください。

クラスターポリシーを使用する

Databricks では、ワークスペース管理者がジョブのクラスターポリシーを定義し、ジョブを構成するすべてのユーザーにこれらのポリシーを適用することをお勧めします。

クラスターポリシー ワークスペース管理者がコスト管理を設定し、ユーザーの構成オプションを制限できるようにします。 クラスターポリシーの設定の詳細については、「 コンピュート ポリシーの作成と管理」を参照してください。

Databricks は、ジョブ用に構成されたデフォルト ポリシーを提供します。 管理者は、このポリシーを他のワークスペース ユーザーが使用できるようにすることができます。 ジョブ コンピュートを参照してください。

オートスケールを使う

オートスケールを構成して、実行時間の長いタスクがジョブの実行中にワーカーノードを動的に追加および削除できるようにします。 「オートスケールを有効にする」を参照してください。

プールを使用してクラスターの起動時間を短縮する

コンピュート プールを使用すると、クラウド プロバイダーからコンピュート リソースを予約できます。 プールは、新しいジョブ クラスターの開始時間を短縮し、コンピュート リソースの可用性を確保するのに役立ちます。 「プール構成リファレンス」を参照してください。

スポットインスタンスの使用

レイテンシー要件が緩いワークロードのスポットインスタンスを設定して、コストを最適化します。 「 スポットインスタンス」を参照してください。

可用性ゾーンの構成

組織がリザーブドインスタンスを購入した場合はアベイラビリティーゾーン (AZ) を指定し、AWS が容量不足エラーを返した場合は、Auto-AZ を使用して他のアベイラビリティーゾーンで再試行します。 「可用性ゾーン」を参照してください。

万能コンピュートはジョブに使うべきでしょうか?

Databricksがジョブに万能コンピュートを使用しないことを推奨する理由は、次のように数多くあります。

  • Databricks 万能コンピュートの請求書は、ジョブコンピュートとは異なるレートでお支払いいただけます。

  • ジョブ コンピュートは、ジョブの実行が完了すると自動的に終了します。 汎用コンピュートは、ジョブ実行の終了ではなく、非アクティブに関連付けられた自動終了をサポートしています。

  • 万能コンピュートは、多くの場合、ユーザーのチーム間で共有されます。 汎用コンピュートに対してスケジュールされたジョブは、コンピュート リソースの競合により、多くの場合、待機時間が長くなります。

  • ジョブ コンピュートの構成を最適化するための多くの推奨事項は、汎用コンピュートで実行されるアドホック クエリや対話型ワークロードの種類には適していません。

次に、ジョブに汎用コンピュートを使用することを選択するユースケースを示します。

  • 新しいジョブを繰り返し開発またはテストしています。 ジョブコンピュートの起動時間が長いと、反復開発が面倒になる可能性があります。 万能コンピュートを使用すると、変更を適用してジョブをすばやく実行できます。

  • You have short-lived jobs that must be run frequently or on a specific schedule. There is no start-up time associated with the currently running all-purpose compute. Consider costs associated with idle time if using this pattern.

サーバレス コンピュート for ジョブは、汎用コンピュートに対して実行を検討するほとんどのタスクタイプの推奨される代替です。