Databricks コンピュートをジョブで使用する

Databricksジョブを実行すると、タスクは、タスクの種類に応じて、サーバーレス コンピュート、クラスター、または SQL ウェアハウスのいずれかのDatabricksコンピュート上のジョブ実行の一部として構成されます。 ジョブを運用化する場合、コンピュート タイプと構成オプションを選択することが重要です。 この記事では、 Databricksコンピュートリソースを使用してジョブを実行するための推奨事項を示します。

Databricksジョブで serverless コンピュート を使用する方法の詳細については、「ワークフロー用の serverless コンピュートを使用しDatabricksジョブの実行」を参照してください。

注:

シークレットは、クラスターの Spark ドライバー ログstdoutおよびstderrストリームから編集されません。 機密データを保護するために、デフォルトでは、Spark ドライバーのログは、ジョブ、シングル ユーザー アクセス モード、および共有アクセス モードのクラスターに対する CAN MANAGE 権限を持つユーザーのみが表示できます。 CAN ATTACH TO または CAN RESTART 権限を持つユーザーがこれらのクラスターのログを表示できるようにするには、クラスター構成で次の Spark 構成プロパティを設定します: spark.databricks.acl.needAdminPermissionToViewLogs false

非分離共有アクセス モード クラスターでは、CAN ATTACH TO または CAN MANAGE 権限を持つユーザーが Spark ドライバーのログを表示できます。 ログを読み取ることができるユーザーを CAN MANAGE 権限を持つユーザーのみに制限するには、 spark.databricks.acl.needAdminPermissionToViewLogstrueに設定します。

クラスター構成に Spark プロパティを追加する方法については、「 Spark 構成 」を参照してください。

共有ジョブクラスターを使用する

複数のタスクを調整するジョブでリソースの使用を最適化するには、共有ジョブ クラスターを使用します。 共有ジョブ クラスターでは、同じジョブ実行内の複数のタスクでクラスターを再利用できます。 1 つのジョブ クラスターを使用して、ジョブの一部であるすべてのタスクを実行することも、特定のワークロード用に最適化された複数のジョブ クラスターを実行することもできます。 共有ジョブ クラスターを使用するには:

  1. タスクを作成し、クラスター 構成 を完了するときに [新しいジョブ クラスター] を選択します。

  2. ジョブにタスクを追加するときに新しいクラスターを選択するか、新しいジョブ クラスターを作成します。 [新しいジョブ クラスター] を選択したときに構成したクラスターは、ジョブ内のすべてのタスクで使用できます。

共有ジョブ クラスターは単一のジョブ 実行 にスコープが設定されており、他のジョブ または同じジョブ の実行 では使用できません。

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

ジョブに適したクラスタータイプを選択する

  • 新しいジョブ クラスターは、ジョブまたはタスク実行専用のクラスターです。 共有ジョブ クラスターは、クラスターを使用する最初のタスクが開始されると作成および開始され、クラスターを使用する最後のタスクが完了した後に終了します。 クラスターはアイドル状態のときは終了せず、すべてのタスクが完了した後にのみ終了します。 共有ジョブ クラスターが失敗するか、すべてのタスクが完了する前に終了した場合は、新しいクラスターが作成されます。 単一のタスクにスコープ設定されたクラスターは、タスクの開始時に作成および開始され、タスクの完了時に終了します。 本番運用では、各ジョブまたはタスクが完全に分離された環境で実行されるように、新しい共有またはタスクスコープのクラスターを使用することをDatabricks推奨しています。

  • 新しいクラスターでタスクを実行すると、タスクは データエンジニアリング (タスク) ワークロードとして扱われ、タスクワークロードの価格が適用されます。 既存の All-Purposeクラスターでタスクを実行すると、そのタスクはデータアナリティクス (汎用) ワークロードとして扱われ、汎用ワークロードの料金が適用されます。

  • 終了した既存のクラスターを選択し、ジョブ所有者にCan Restart アクセス許可がある場合、Databricks はジョブの実行がスケジュールされているときにクラスターを開始します。

  • 既存の汎用クラスターは、 ダッシュボード を定期的に更新するなどのタスクに最適です。

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

新しいジョブ クラスターの開始時刻を短縮するには、プールを作成し、その プール を使用するようにジョブのクラスターを構成します。

自動アベイラビリティゾーン

自動アベイラビリティーゾーン (Auto-AZ) を利用するには、 クラスター API で有効にし、 aws_attributes.zone_id = "auto"に設定する必要があります。 「 可用性ゾーン」を参照してください。