ジョブの作成

データ・サイエンスでジョブを作成して実行します。

ジョブに必要なポリシー、認証および認可を作成していることを確認します。

開始する前に:

  • ジョブ・アーティファクト・ファイルを作成するか、カスタム・コンテナを構築します。

  • ジョブ・ログを格納および管理するには、ロギングについて学習します

  • ストレージ・マウントを使用するには、オブジェクト・ストレージ・バケットまたはOCI File Storage Service (FSS)マウント・ターゲットおよびエクスポート・パスが必要です。

    FSSを使用するには、まずファイル・システムおよびマウント・ポイントを作成する必要があります。カスタム・ネットワーク・オプションを使用し、マウント・ターゲットとノートブックが同じサブネットで構成されていることを確認します。特定のポートおよびプロトコルを使用してサブネットのセキュリティ・リスト・ルールを構成します。

    サービス制限がfile-system-countおよびmount-target-countに割り当てられていることを確認します。

  • ストレージ・マウントを使用するには、オブジェクト・ストレージ・バケットまたはOCI File Storage Service (FSS)マウント・ポイントが必要です。

    1. ジョブ・リスト・ページで、「ジョブの作成」を選択します。ジョブのリストの検索に関するヘルプが必要な場合は、ジョブのリストを参照してください。
    2. (オプション)ジョブに別のコンパートメントを選択します。
    3. (オプション)ジョブの一意の名前と説明を入力します(255文字に制限されます)。名前を指定しない場合、名前は自動生成されます。

      たとえば、job20210808222435です。

    4. (オプション)「独自のコンテナを持ち込む」を使用するには、環境構成で「選択」を選択します。
      「BYOC環境の設定」パネルで、次のステップを実行します。
      1. 「リポジトリ」で、リストからリポジトリを選択します。リポジトリが別のコンパートメントにある場合は、「コンパートメントの変更」を選択します。
      2. 「イメージ」で、リストからイメージを選択します。
      3. (オプション)「エントリ・ポイント」にエントリ・ポイントを入力します。もう1つ追加するには、+Addパラメータを選択します。
      4. (オプション)CMDにCMDを入力します。もう1つ追加するには、+Addパラメータを選択します。
        ノート

        ENTRYPOINTの引数としてCMDを使用するか、ENTRYPOINTがない場合に実行する唯一のコマンドとして使用します。
      5. (オプション)「イメージ・ダイジェスト」に、イメージ・ダイジェストを入力します。
      6. (オプション)「署名ID」で、署名検証を使用する場合は、イメージ署名のOCIDを入力します。たとえば、ocid1.containerimagesignature.oc1.iad.aaaaaaaaab...です。
      7. 「選択」を選択します。
    5. (オプション)このステップは、BYOCが構成されている場合のみオプションです。必要なジョブ・アーティファクト・ファイルをボックスにドラッグして、ジョブ・アーティファクトをアップロードします。
    6. (オプション)これらのオプションを使用してジョブを実行するときに使用されるデフォルトのジョブ構成を作成します。

      以下のいずれかの値を入力または選択します。

      カスタム環境変数キー

      ジョブを制御する環境変数

      ノート

      zipファイルまたは圧縮tarファイルをアップロードした場合は、ファイルを指すカスタム環境変数としてJOB_RUN_ENTRYPOINTを追加します。

      カスタム環境変数キーの値。

      「追加のカスタム環境キー」をクリックして、さらに変数を指定できます。

      コマンドライン引数

      ジョブの実行に使用するコマンドライン引数。

      最大実行時間(分)

      ジョブを実行できる最大分数。サービスは、実行時間が指定された値を超えた場合にジョブ実行を取り消します。最大ランタイムは30日(43,200分)です。ランナウェイ・ジョブ実行を回避するために、すべてのジョブ実行に最大実行時間を構成することをお薦めします。

    7. コンピュート・シェイプを選択します。
    8. (オプション)「シェイプの変更」を選択して、コンピュート・シェイプを変更します。次に、「コンピュートの選択」パネルの次のステップに従います。
      1. インスタンス・タイプの選択
      2. シェイプ・シリーズを選択します。
      3. シリーズでサポートされているコンピュート・シェイプのいずれかを選択します。
      4. リソースの使用方法に最適なシェイプを選択します。AMDシェイプの場合は、デフォルトを使用するか、OCPUおよびメモリーの数を設定できます。

        OCPUごとに、最大64 GBのメモリーと最大合計512 GBを選択します。許容されるメモリーの最小容量は、1GBまたはOCPUの数に一致する値のいずれか大きい方です。

      5. 「シェイプの選択」を選択します。
    9. (オプション)ロギングを使用するには、「選択」を選択し、「ロギングの有効化」が選択されていることを確認します。
      1. リストからログ・グループを選択します。別のコンパートメントに変更して、ジョブとは異なるコンパートメントのログ・グループを指定できます。
      2. 次のいずれかを選択して、すべてのstdoutおよびstderrメッセージを格納します。
        自動ログ作成の有効化

        ジョブの開始時に、データ・サイエンスによってログが自動的に作成されます。

        ログの選択

        使用するログを選択します。

      3. 「選択」を選択して、ジョブ実行作成ページに戻ります。
    10. 「ストレージ」に、50 GBから10、240 GB (10 TB)までの間に使用するブロック・ストレージの量を入力します。値は1GB単位で変更できます。デフォルト値は100 GBです。
    11. ネットワーク・タイプを構成するには、次のいずれかのオプションを選択します:
      • デフォルト・ネットワーク - ワークロードはセカンダリVNICを使用して、事前構成済のサービス管理VCNおよびサブネットにアタッチされます。提供されたこのサブネットは、NATゲートウェイを介したパブリック・インターネットへのエグレスおよびサービス・ゲートウェイを介した他のOracle Cloudサービスへのアクセスを許可します。

        パブリック・インターネットおよびOCIサービスのみにアクセスする必要がある場合は、このオプションを使用することをお薦めします。ネットワーキング・リソースの作成や、ネットワーキング権限のポリシーの書込みは不要です。

      • カスタム・ネットワーキング - リソース(ノートブック・セッションまたはジョブ)に使用するVCNおよびサブネットを選択します。

        パブリック・インターネットへのエグレス・アクセスには、NATゲートウェイへのルートを持つプライベート・サブネットを使用します。

        使用するVCNまたはサブネットが表示されない場合は、「コンパートメントの変更」をクリックし、VCNまたはサブネットを含むコンパートメントを選択します。

        重要

        ファイル・ストレージ・マウントを使用するには、カスタム・ネットワークを使用する必要があります。

    12. (オプション)ストレージ・マウントを使用するには、+Addストレージ・マウントを選択します。
      1. ストレージ・マウント・タイプとして、OCIオブジェクト・ストレージまたはOCIファイル・ストレージを選択します。
      2. マウントするストレージ・リソースを含むコンパートメントを選択します。
      3. 次のいずれかを選択します:
        オブジェクト・ストレージ

        使用するバケット。

        オブジェクト名の接頭辞を追加できます。接頭辞は英数字で始まる必要があります。使用できる文字は、英数字、スラッシュ( / )、ハイフン( - )およびアンダースコア( _ )です。

        File Storage

        使用するマウント・ターゲットおよびエクスポート・パス。

        ファイル・ストレージを使用するには、カスタム・ネットワークを使用する必要があります。

      4. ストレージをマウントするパスを入力します。

        ストレージは、指定されたマウントパスの下にマウントされます。パスは英数字で始まる必要があります。宛先ディレクトリは、指定されたストレージマウント全体で一意である必要があります。使用可能な文字は、英数字、ハイフン( - )およびアンダースコア( _ )です。

        /opc/storage-directoryなどのフルパスを指定できます。/storage-directoryなどのディレクトリのみが指定されている場合は、デフォルトの/mntディレクトリの下にマウントされます。/bin/etcなど、OS固有のディレクトリは指定できません。

      5. 「送信」を選択します。

        ノートブック・セッションの場合は最大2つのストレージ・マウント、ジョブの場合は5つのストレージ・マウントを追加するには、これらのステップを繰り返します。

    13. (オプション)「拡張オプションの表示」を選択して、ジョブにタグを追加します。
    14. (オプション)タグ・ネームスペース(定義済のタグの場合)、キーおよび値を入力して、リソースにタグを割り当てます。

      複数のタグを追加するには、「タグの追加」を選択します。

      タグ付けに関する項では、コスト・トラッキング・タグなど、リソースの整理および検索に使用できる様々なタグについて説明します。

    15. 「作成」を選択します。

      ジョブがアクティブ状態になったら、ジョブ実行を使用してジョブを繰り返し実行できます。

  • これらの環境変数は、ジョブを制御します。

    データ・サイエンスCLIを使用して、次の例のようにジョブを作成します:

    1. 次を使用してジョブを作成します:
      oci data-science job create \
      --display-name <job_name>\
      --compartment-id <compartment_ocid>\
      --project-id <project_ocid> \
      --configuration-details file://<jobs_configuration_json_file> \
      --infrastructure-configuration-details file://<jobs_infrastructure_configuration_json_file> \
      --log-configuration-details file://<optional_jobs_infrastructure_configuration_json_file>
    2. 次のジョブ構成JSONファイルを使用します:
      {
        "jobType": "DEFAULT",
        "maximumRuntimeInMinutes": 240,
        "commandLineArguments" : "test-arg",
        "environmentVariables": {
          "SOME_ENV_KEY": "some_env_value" 
        }
      }
    3. 次のジョブ・インフラストラクチャ構成JSONファイルを使用します:
      {
        "jobInfrastructureType": "STANDALONE",
        "shapeName": "VM.Standard2.1",
        "blockStorageSizeInGBs": "50",
        "subnetId": "<subnet_ocid>"
      }
    4. (オプション)このジョブ・ロギング構成JSONファイルを使用します:
      {
        "enableLogging": true,
        "enableAutoLogCreation": true,
        "logGroupId": "<log_group_ocid>"
      }
    5. 次を使用して、作成したジョブのジョブ・アーティファクト・ファイルをアップロードします:
      oci data-science job create-job-artifact \
      --job-id <job_ocid> \
      --job-artifact-file <job_artifact_file_path> \
      --content-disposition "attachment; filename=<job_artifact_file_name>"
  • ADS SDKは、次のコマンドを使用してインストールできる、パブリックに使用可能なPythonライブラリでもあります:

    pip install oracle-ads

    ノートブックまたはクライアント・マシンでのジョブの作成と実行を容易にするラッパーを提供します。

    ADS SDKを使用してジョブを作成および実行します。