Databricks ジョブの構成と編集
この記事では、 ワークフロー ワークスペース UI を使用してジョブを作成、構成、編集する手順に焦点を当てています。 Databricks には、次のような構成用の他のエントリ ポイントとツールがあります。
Databricks CLI を使用してジョブを作成および実行する方法については、「 Databricks CLI とは」を参照してください。
ジョブAPIを使用してジョブを作成および実行する方法については、REST APIリファレンスの「ジョブ」を参照してください。
Databricksノートブックで直接ジョブを実行しスケジュールする方法については、「スケジュールされたノートブックジョブの作成と管理」を参照してください。
ヒント
ジョブを YAML として表示するには、ジョブの [ 今すぐ実行 ] の左側にあるケバブ メニューをクリックし、[ コード バージョンに切り替え (YAML)] をクリックします。
新しいジョブを作成する
このセクションでは、ワークスペース UI を使用してノートブック タスクをスケジュールする新しいジョブを作成するために必要な最小限の構成について説明します。
ジョブには 1 つ以上のタスクが含まれます。 新しいジョブを作成するには、そのジョブの最初のタスクを構成します。
注:
各タスク タイプには、ワークスペース UI の動的構成オプションがあります。 「Databricks タスクの構成と編集」を参照してください。
サイドバーの[ワークフロー] をクリックし 、 をクリックします 。
タスク名を入力します。
[パス] フィールドのノートブックを選択します。
コンピュートオプションを選択します。Databricks タスクを設定するときは、常にジョブ コンピュートを使用することをお勧めします。
「タスクを作成」をクリックします。
新しいジョブがワークスペース ジョブ リストにデフォルト名 New Job <date> <time>
で表示されます。
ワークスペースで編集するジョブを選択する
ワークスペース UI を使用して既存のジョブを編集するには、次の手順を実行します。
サイドバーの[ワークフロー]をクリックします。
「名前」列で、ジョブ名をクリックします。
ジョブ UI を使用して、次の操作を行います。
ジョブ設定の編集
ジョブの名前変更、クローン作成、または削除
既存のジョブに新しいタスクを追加する
タスク設定の編集
ジョブ設定の編集
サイドパネルには 、ジョブの詳細が含まれています。 ジョブ・トリガー、コンピュート構成、 通知、並列実行の最大数、期間しきい値の構成、およびタグの追加または変更を行うことができます。 ジョブのアクセス制御が有効になっている場合は、ジョブのアクセス許可を編集することもできます。
すべてのジョブタスクのパラメーターを追加する
ジョブ レベルで構成されたパラメーターは、キーワード引数を受け入れるように構成された SAP ファイルを含む、key-value パラメーターを受け入れるジョブのタスク Python wheel 渡されます。 ジョブのパラメータ化を参照してください。
ジョブにタグを追加する
ジョブにラベルや Key-Value 属性を追加するには、ジョブの編集時に タグ を追加します。 タグを使用して、 ジョブリスト内のジョブをフィルタリングできます。 たとえば、 department
タグを使用して、特定の部門に属するすべてのジョブをフィルタリングできます。
注:
ジョブ タグは、個人を特定できる情報やパスワードなどの機密情報を格納するようには設計されていないため、Databricks では、機密性の低い値にのみタグを使用することをお勧めします。
タグ は、ジョブの実行時に作成されたジョブ クラスターにも伝播されるため、既存の クラスター モニタリングでタグを使用できます。
ジョブ詳細サイドパネルで「+タグ」をクリックして、タグを追加または編集します。タグは、ラベルまたはキーと値のペアとして追加できます。 ラベルを追加するには、[ キー ] フィールドにラベルを入力し、[ 値 ] フィールドを空のままにします。
ジョブの名前変更、クローン作成、または削除
ジョブの名前を変更するには、ジョブUIに移動し、ジョブ名をクリックします。
既存のジョブをクローニングすることで、新しいジョブをすばやく作成できます。 ジョブをクローニングすると、ジョブ ID を除き、ジョブの同一のコピーが作成されます。 ジョブをクローニングするには、次の手順を実行します。
ジョブの UI に移動します。
[今すぐ実行]ボタンの横にあるをクリックします 。
ドロップダウンメニューから [クローンジョブ ]を選択します。
クローニングされたジョブの名前を入力します。
[クローンを作成] をクリックします。
ジョブでの Git の使用
ジョブにリモート Git プロバイダーの使用をサポートするタスクが含まれている場合、ジョブ UI には Git フィールドと、Git設定を追加または編集するオプションが含まれています。
次のタスクタイプを設定して、リモート Git リポジトリを使用できます。
ノートブック
Python スクリプト
SQL ファイル
dbt
ジョブ内のすべてのタスクは、リモートリポジトリ内の同じコミットを参照する必要があります。 リモートリポジトリを使用するジョブには、次のいずれか 1 つだけを指定する必要があります。
branch: ブランチの名前 (例:
main
)。タグ: タグの名前 (例:
release-1.0.0
.コミット: 特定のコミットのハッシュ (例:
e0056d01
.
ジョブの実行が開始されると、 Databricks はリモート リポジトリのスナップショット コミットを取得して、ジョブ全体が同じバージョンのコードに対して実行されるようにします。
リモート Git リポジトリに格納されているコードを実行するタスクの実行履歴を表示すると、 タスク実行の詳細 パネルには、実行に関連付けられたコミット SHA などの Git 詳細が含まれます。 「タスク実行履歴の表示」を参照してください。
注:
リモート Git リポジトリを使用するように構成されたタスクは、ワークスペース ファイルに書き込むことはできません。 これらのタスクは、タスクを実行するように構成されたコンピュートのドライバー ノードにアタッチされた一時ストレージに一時データを書き込む必要があり、永続データをボリュームまたはテーブルに書き込む必要があります。
Databricks では、Git フォルダー内のワークスペース パスを参照するのは、開発中の迅速なイテレーションとテストのためだけにすることをお勧めします。 ジョブをステージングおよび本番運用に移動するときは、 Databricks は、これらのジョブがリモート Git リポジトリを参照するように設定することをお勧めします。 Databricks ジョブでリモート Git リポジトリを使用する方法の詳細については、次のセクションを参照してください。
Git プロバイダーを構成する
ジョブ UI には、リモート Git リポジトリを設定するためのダイアログがあります。 このダイアログには、[ ジョブの詳細 ] パネルの [Git ] 見出しの下から、または Git プロバイダーを使用するように設定された任意のタスクからアクセスできます。
ダイアログにアクセスするために表示されるオプションは、タスクの種類と、ジョブに git 参照が既に設定されているかどうかによって異なります。 ダイアログを起動するボタンには、 Git 設定の追加、 編集、または Git 参照の追加が含まれます。
[Git 情報] ダイアログ ([ジョブの詳細] パネルでアクセスする場合は [Git] と表示されているだけです) で、次の詳細を入力します。
Git リポジトリの URL。
ドロップダウンリストから Git プロバイダー を選択します。
[Git 参照] フィールドに、実行するソース コードのバージョンに対応するブランチ、タグ、またはコミットの識別子を入力します。
ドロップダウンから ブランチ、 タグ、または コミット を選択します。
注:
ダイアログに「 このアカウントの Git 資格情報がありません」と表示される場合があります。資格情報を追加します。 リモート Git リポジトリを参照として使用する前に、そのリポジトリを構成する必要があります。 「Databricks Git フォルダー (Repos) の設定」を参照してください。
ジョブの予想完了時間またはタイムアウトを構成する
ジョブの任意の期間しきい値 (予想完了時間や最大完了時間など) を構成できます。 期間のしきい値を設定するには、[ジョブの詳細] パネルの [期間のしきい値] で [期間のしきい値の設定] をクリックします。
「警告」フィールドに期間を入力して、ジョブの予想完了時間を設定します。ジョブがこのしきい値を超えると、イベントがトリガーされます。 このイベントを使用して、ジョブの実行が遅いときに通知できます。 「 実行速度の遅いジョブまたは遅延したジョブの通知を構成する」を参照してください。
ジョブの最大完了時間を設定するには、[ タイムアウト ] フィールドに最大時間を入力します。 この時間内にジョブが完了しない場合、Databricks はジョブのステータスを「タイムアウト」に設定します。
オプションで、タスクの期間のしきい値を指定できます。 タスクの予想完了時間またはタイムアウトの設定を参照してください。