タスクの構成
この項では、タスクの作成と構成について説明します。
タスクについて
タスクは、ジョブの一部としてフローにまとめたり、ジョブ自体に昇格したりできる、コードの機能ブロックです。
タスクは、Oracle AI Data Platform Workbenchのすべてのワークフローの主要な構成要素です。タスクのタイプによって、使用するコードのタイプが決まります。ジョブの一部として、タスクを接続して、ジョブの実行時の順序と優先度を決定します。
| タスク・タイプ | 説明 |
|---|---|
| ノートブック・タスク | アクセス可能なノートブックに保存されたタスク |
| Pythonタスク | Pythonプログラミング言語のスニペットを使用するタスク |
| If/else条件 | if/else条件を使用するタスク |
| ネストされたジョブ・タスク | 既存のジョブとそのタスクをネストされたタスクとして使用するタスク |
| JARタスク | Java Archive (JAR)ファイルにコンパイルされたScalaまたはJavaコードを実行できるタスク。 |
複数のタスクがある場合、1つのタスクの成功または失敗によって後続のタスクを順番にトリガーできるタスクの依存関係のセットを作成できます。依存関係は、複数のタスクを持つジョブでのみ作成できます。ノートブック・タスクの作成を参照してください。
タスクは、相互に並行して実行できます。これを行うには、同じワークフロー内の別のタスクの成功または失敗に依存する複数のタスクを作成し、それらを同時に実行します。
タスクは、ネットワークの中断、リソースの使用不可、一時的なサービス障害などの一時的な問題によって失敗することがあります。このような場合、AIデータ・プラットフォーム・ワークベンチは、タスクの作成時に構成した再試行ポリシーに基づいて、タスクを自動的に再試行します。これらのポリシーの一部として、次のものを定義します。
- 再試行回数:最大再試行回数。
- 再試行間隔:再試行間の待機時間。
AI Data Platform Workbenchでは、標準タスクの再試行に加えて、タイムアウト時に再試行もサポートされています。リソースの制約または処理が遅いためにタスクの実行時間制限を超過し、これらのシナリオでのみ再試行する場合は、自動的に再試行をトリガーするように選択できます。これらの再試行ポリシーにより、ワークフローの自己回復性が向上し、手動操作なしでタスクの実行が成功する可能性が高くなります。
コンピュート・ログを使用するタイミングと方法
タスクがリソースまたはシステム関連のエラー(メモリー不足エラーやCPU使用率が制限を超えているなど)で失敗した場合は、コンピュート・ログを確認する必要があります。
長い待機時間、予期しない再試行またはジョブ・パフォーマンスのボトルネックが発生した場合は、Sparkログを確認します。これらのログは、タスクをバックアップするコンピュート・クラスタのドライバ・ノードおよびワーカー・ノードに関するインサイトを提供し、考えられる問題の原因の特定に役立ちます。
ログを確認する方法のガイダンスは、特定のジョブ実行のモニターを参照してください。
ジョブに関連付けられたコンピュート・インスタンスのメタデータおよびログを表示するには、適切なコンピュート・レベルのRBAC権限が必要です。コンピュート・ログを表示できない場合は、管理者に連絡してこれらの権限を取得してください。詳細は、権限についてを参照してください。
JARタスクの作成
Java Archive (JAR)ファイルにコンパイルされたScalaまたはJavaコードを実行するタスクを作成できます。
ノート:
依存ライブラリ・ファイルは、予期しない動作を回避するために、作成時にOracle AI Data Platform Workbenchクラスタ・ランタイムと互換性のあるJDK、ScalaまたはSparkバージョンを使用する必要があります。タスクを変更
タスクの既存の属性(名前、タイプ、パラメータなど)を変更して、ジョブでの機能を変更できます。
- ホーム・ページで、「ワークフロー」をクリックします。
- タスクを構成するジョブをクリックします。
- 「タスク」タブで、編集するタスクをクリックします。
- 右側の「タスクの詳細」ペインで、必要に応じてタスク属性を変更します。変更は自動的に保存されます。
