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

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

Databricksでのサーバーレス コンピュートの使用の詳細については、「ワークフローのサーバーレス コンピュートを使用したDatabricksジョブ」を参照してください。

注:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

自動可用性ゾーン (Auto-AZ) を利用するには、 APIaws_attributes.zone_id = "auto" を設定して有効にする必要があります。 「可用性ゾーン」を参照してください。