Databricks タスクの構成と編集
この記事では、ワークフロー ワークスペース UI を使用してタスクを作成、構成、編集する手順について説明します。
Azure Databricks では、Databricks ジョブのコンポーネントとしてタスクが管理されます。 1 つのジョブには 1 つ以上のタスクが含まれています。 最初のタスクを構成することで、ワークスペース UI で新しいジョブを作成します。 新しいジョブを構成するには、「Databricks ジョブの構成と編集」を参照してください。
各タスクには、タスク ロジックを実行する関連付けられたコンピューティング リソースがあります。 サーバーレスを使用している場合は、Azure Databricks によってコンピューティング リソースが構成されます。 サーバーレスを使用していない場合は、「ジョブ用にコンピューティングを構成する」を参照してください。
Azure Databricks には、次のようなタスク構成用のその他のエントリ ポイントとツールがあります。
タスクを作成または構成する
既存のタスクを編集するか、ワークスペース UI で新しいタスクを追加するには、次の手順に従って既存のジョブを選択します。
- サイドバーの [ワークフロー] をクリックします。
- [名前] 列で、ジョブ名をクリックします。
- [タスク] タブをクリックすると、タスク グラフが表示されます。
- タスクを編集するには、タスク名をクリックします。 タスク グラフの下にタスクの構成が表示されます。
- タスクを追加するには、 をクリックします。
タスクの種類
構成オプションと手順はタスクによって異なります。 以下に示すタスクの種類を使用できます。
- ノートブック
- Python スクリプト
- Python ホイール
- SQL
- DLT パイプライン
- dbt
- JAR
- Spark Submit
- Run Job
- If/else
- [For each] を選択します。
タスクを複製する
アップストリームの依存関係を含む、既存のタスクのすべての構成をコピーするタスクを複製します。
タスクを複製するには、次を実行します。
- タスク グラフでタスクを選択します。
- をクリックします。
- 複製するタスク名を指定し、[複製] をクリックします。
タスクを削除する
タスクを削除するには、次を実行します。
- タスク グラフでタスクを選択します。
- [] をクリックし、[タスクの削除] を選択します。
タスク パスをコピーする
ノートブック タスクなどの特定のタスクの種類では、タスクのソース コードへのパスをコピーできます。
- [タスク] タブをクリックします。
- コピーするパスを含むタスクを選択します。
- タスク パスの横にある をクリックして、パスをクリップボードにコピーします。
詳細タスクの設定
次の詳細設定では、失敗したタスクの再試行と応答しないタスクのタイムアウト ポリシーが制御されます。
Note
タスクまたはジョブ レベルで通知を設定できます。 「ジョブ イベントのメール通知とシステム通知を追加する」を参照してください。
再試行ポリシーを設定する
タスクの再試行の既定の設定は、ジョブの構成によって異なります。 ほとんどの構成において、既定の設定では、タスクの失敗時に再試行は行われません。
サーバーレスのジョブでは、既定で再試行が自動的に最適化されます。 「再試行を禁止するようにサーバーレス コンピューティングの自動最適化を構成する」を参照してください
連続ジョブでは、エクスポネンシャル バックオフ再試行ポリシーが使用されます。 「継続的ジョブのエラーはどのように処理されますか?」を参照してください。
タスクの実行が失敗したときに再試行するタイミングと回数を決定するポリシーを構成するには、[再試行] の横にある [+ 追加] をクリックします。
再試行間隔は、失敗した実行の開始からその後の再試行実行までで計算されます (ミリ秒単位)。
Note
タイムアウトと再試行の両方を構成すると、タイムアウトは再試行ごとに適用されます。
タスクの予想される完了時間またはタイムアウトを構成する
想定完了時間や最大完了時間など、タスクに関する任意の期間のしきい値を構成できます。 期間のしきい値を構成するには、[期間のしきい値] をクリックします。
[警告] フィールドに期間を入力して、タスクの想定完了時間を構成します。 タスクがこのしきい値を超えると、イベントがトリガーされます。 このイベントを使用して、タスクの実行速度が遅い場合に通知できます。 「実行時間の遅いジョブまたは遅延ジョブの通知を構成する」を参照してください。
タスクブの最大完了時間を構成するには、[タイムアウト] フィールドに最大期間を入力します。 この時間内にタスクが完了しなかった場合、Azure Databricks によって状態が "タイムアウト" に設定されます。