CLI (レガシ) の実行

重要

このドキュメントは廃止され、更新されない可能性があります。

この情報は、レガシ Databricks CLI バージョン 0.18 以前に適用されます。 Databricks では、代わりにバージョン 0.205 以降の新しい Databricks CLI を使うことをお勧めします。 「Databricks CLI について」を参照してください。 お使いの Databricks CLI のバージョンを確認するには、databricks -v を実行してください。

Databricks CLI バージョン 0.18 以前から Databricks CLI バージョン 0.205 以降に移行するには、「Databricks CLI の移行」を参照してください。

Databricks ジョブ実行 CLI サブコマンドを databricks runs に追加して実行し、Databricks ジョブ CLI サブコマンドを databricks jobs に追加して実行します。 Databricks ジョブ CLI サブコマンドについては、ジョブ CLI (レガシ) に関するページを参照してください。 これらのサブコマンドを組み合わせて、Jobs APIJobs API 2.0 を呼び出します。

重要

Databricks ジョブ実行 CLI では、バージョン 2.1 と 2.0 の 2 つのバージョンの Databricks Jobs REST API の呼び出しがサポートされます。 (ジョブの実行機能は、Jobs REST API の一部です)。バージョン 2.1 では、複数のタスクを含むジョブのオーケストレーションのサポートが追加されています。「Azure Databricks ジョブを作成して実行する」と「Jobs API 2.0 から 2.1 への更新」を参照してください。 バージョン 2.0 に依存し、移行できないレガシ スクリプトがない限り、Databricks ではバージョン 2.1 を呼び出すことをお勧めします。

特に指定がない限り、この記事で説明するプログラム動作は、バージョン 2.1 と 2.0 に同様に適用されます。

注意

ジョブの実行 CLI 要求を行っているときに 500 番台のエラーを受け取る場合、Databricks では、(30 秒以上の再試行間隔で) 最大 10 分間、要求を再試行することを推奨しています。

Jobs REST API 2.1 呼び出しの要件

Jobs REST API 2.1 を呼び出すために Databricks ジョブの実行 CLI (とジョブ CLI) を設定する場合は、次の手順を実行します。

  1. CLI をバージョン 0.16.0 以上に更新します。

  2. 以下のいずれかを実行します。

    • コマンド databricks jobs configure --version=2.1を実行します。 これにより、設定 jobs-api-version = 2.1 が Unix、Linux、または macOS の ~/.databrickscfg ファイル、または、Windows の %USERPROFILE%\.databrickscfg に追加されます。 すべてのジョブ実行 CLI (とジョブ CLI) サブコマンドは、既定で Jobs REST API 2.1 を呼び出します。
    • 設定 jobs-api-version = 2.1 を Unix、Linux、または macOS の ~/.databrickscfg ファイル、または、Windows の %USERPROFILE%\.databrickscfg に手動で追加します。 すべてのジョブ実行 CLI (とジョブ CLI) サブコマンドは、既定で Jobs REST API 2.1 を呼び出します。
    • オプション --version=2.1 (例 databricks runs list --version=2.1) を追加して、ジョブ実行 CLI でその呼び出しのみに対して Jobs REST API 2.1 を呼び出すよう指示します。

    上記のアクションのいずれも実行しない場合、ジョブ実行 CLI (とジョブ CLI) は、既定で Jobs REST API 2.0 を呼び出します。

Jobs REST API 2.0 呼び出しの要件

Jobs REST API 2.0 を呼び出すために Databricks ジョブの実行 CLI (とジョブ CLI) を設定する場合は、次の手順のいずれかを実行します。

  • 0.16.0 より前のバージョンの Databricks CLI を使用するか、
  • CLI をバージョン 0.16.0 以降に更新し、次のいずれかの操作を行います。
    • コマンド databricks jobs configure --version=2.0を実行します。 これにより、設定 jobs-api-version = 2.0 が Unix、Linux、または macOS の ~/.databrickscfg ファイル、または、Windows の %USERPROFILE%\.databrickscfg に追加されます。 すべてのジョブ実行 CLI (とジョブ CLI) サブコマンドは、既定で Jobs REST API 2.0 を呼び出します。
    • 設定 jobs-api-version = 2.0 を Unix、Linux、または macOS の ~/.databrickscfg ファイル、または、Windows の %USERPROFILE%\.databrickscfg に手動で追加します。 すべてのジョブ実行 CLI (とジョブ CLI) サブコマンドは、既定で Jobs REST API 2.0 を呼び出します。
    • オプション --version=2.1 (例 databricks runs list --version=2.0) を追加して、ジョブ実行 CLI でその呼び出しのみに対して Jobs REST API 2.0 を呼び出すよう指示します。

上記のアクションのいずれも実行しない場合、ジョブ実行 CLI (とジョブ CLI) は、既定で Jobs REST API 2.0 を呼び出します。

サブコマンドと一般的な使用方法

databricks runs --help
Usage: databricks runs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs runs.

Options:
  -v, --version   [VERSION]
  --debug         Debug mode. Shows full stack trace on error.
  --profile TEXT  CLI connection profile to use. The default profile is
                  "DEFAULT".

  -h, --help      Show this message and exit.

Commands:
  cancel      Cancels the specified run.
  get         Gets the metadata about a run in JSON form.
  get-output  Gets the output of a run.
  list        Lists job runs.
  submit      Submits a one-time run.

実行をキャンセルする

使用に関するドキュメントを表示するには、databricks runs cancel --help を実行します。

databricks runs cancel --run-id 119
{}

実行に関する情報を取得する

使用に関するドキュメントを表示するには、databricks runs get --help を実行します。

一般的な使用

databricks runs get --run-id 2785782

Jobs CLI 2.1 の使用に関する注意事項と応答の例

Jobs API 2.0 から 2.1 への更新」の「get の実行」をご覧ください。

Jobs CLI 2.0 応答の例

{
  "job_id": 1269263,
  "run_id": 2785782,
  "number_in_job": 1111,
  "original_attempt_run_id": 2785782,
  "state": {
    "life_cycle_state": "TERMINATED",
    "result_state": "SUCCESS",
    "state_message": ""
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
    }
  },
  "cluster_spec": {
    "new_cluster": {
      "spark_version": "8.1.x-scala2.12",
      "node_type_id": "Standard_F16s",
      "enable_elastic_disk": true,
      "azure_attributes": {
        "availability": "ON_DEMAND_AZURE"
      },
      "num_workers": 8
    }
  },
  "cluster_instance": {
    "cluster_id": "1234-567890-abcd123",
    "spark_context_id": "1234567890123456789"
  },
  "start_time": 1620947196985,
  "setup_duration": 36000,
  "execution_duration": 119000,
  "cleanup_duration": 3000,
  "end_time": 1620947355499,
  "trigger": "ONE_TIME",
  "creator_user_name": "someone@example.com",
  "run_name": "my-notebook-run",
  "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
  "run_type": "JOB_RUN",
  "attempt_number": 0
}

実行の出力を取得する

使用に関するドキュメントを表示するには、databricks runs get-output --help を実行します。

注意

notebook_taskdbutils.notebook.exit() への呼び出しから値を返すときに、Databricks は返された値を最初の 5 MB のデータに制限します。 より大きな結果を返すには、ジョブの結果をクラウド ストレージ サービスに保存します。

一般的な使用

databricks runs get-output --run-id 2785782

Jobs CLI 2.1 の使用に関する注意事項

Jobs API 2.0 から 2.1 への更新」の「get output の実行」をご覧ください。

Jobs CLI 2.0 応答の例

{
  "metadata": {
    "job_id": 1269263,
    "run_id": 2785782,
    "number_in_job": 1111,
    "original_attempt_run_id": 2785782,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
      }
    },
    "cluster_spec": {
      "new_cluster": {
        "spark_version": "8.1.x-scala2.12",
        "node_type_id": "Standard_F16s",
        "enable_elastic_disk": true,
        "azure_attributes": {
          "availability": "ON_DEMAND_AZURE"
        },
        "num_workers": 8
      }
    },
    "cluster_instance": {
      "cluster_id": "1234-567890-abcd123",
      "spark_context_id": "1234567890123456789"
    },
    "start_time": 1620947196985,
    "setup_duration": 36000,
    "execution_duration": 119000,
    "cleanup_duration": 3000,
    "end_time": 1620947355499,
    "trigger": "ONE_TIME",
    "creator_user_name": "someone@example.com",
    "run_name": "my-notebook-run",
    "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
    "run_type": "JOB_RUN",
    "attempt_number": 0
  },
  "notebook_output": {}
}

すべての実行に関する情報を取得する

使用に関するドキュメントを表示するには、databricks runs list --help を実行します。

一般的な使用

databricks runs list --output JSON

Jobs CLI 2.1 の使用に関する注意事項と応答の例

Jobs API 2.0 から 2.1 への更新」の「list の実行」をご覧ください。

Jobs CLI 2.0 応答の例

{
  "runs": [
    {
      "job_id": 1269263,
      "run_id": 2785782,
      "number_in_job": 1111,
      "original_attempt_run_id": 2785782,
      "state": {
         "life_cycle_state": "TERMINATED",
         "result_state": "SUCCESS",
         "state_message": ""
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/notebooks/my-notebook.ipynb"
        }
      },
      "cluster_spec": {
        "new_cluster": {
          "spark_version": "8.1.x-scala2.12",
          "node_type_id": "Standard_F16s",
          "enable_elastic_disk": true,
          "azure_attributes": {
            "availability": "ON_DEMAND_AZURE"
          },
          "num_workers": 8
        }
      },
      "cluster_instance": {
        "cluster_id": "1234-567890-abcd123",
        "spark_context_id": "1234567890123456789"
      },
      "start_time": 1620947196985,
      "setup_duration": 36000,
      "execution_duration": 119000,
      "cleanup_duration": 3000,
      "end_time": 1620947355499,
      "trigger": "ONE_TIME",
      "creator_user_name": "someone@example.com",
      "run_name": "my-notebook-run",
      "run_page_url": "https://adb-1234567890123456.7.azuredatabricks.net/?o=1234567890123456#job/1269263/run/1111",
      "run_type": "JOB_RUN",
      "attempt_number": 0
    },
    ...
  ],
  "has_more": false
}

has_moretrue を返す場合は、追加の実行に関する情報を使用できます。 --offset オプションを使用して、最新の実行に対する相対的な実行に関する情報を返します。 たとえば、最新から10 番目以降の実行に関する情報を返す場合は、--offset 10 を指定します。

--limit オプションを使用して、固定数の実行に関する情報を返します。 たとえば、次の 5 回までの実行の情報を返す場合は、--limit 5 を指定します。 最大で 1,000 回まで指定できます。 指定しない場合は、20 が既定値です。

1 回の実行を送信する

使用に関するドキュメントを表示するには、databricks runs submit --help を実行します。

一般的な使用

databricks runs submit --json-file submit-run.json

Jobs REST API 2.1 の使用に関する注意事項と要求の例

Jobs API 2.0 から 2.1 への更新」の「submit の実行」をご覧ください。

Jobs REST API 2.0 の要求と応答の例

submit-run.json:

{
  "run_name": "my-spark-run",
  "new_cluster": {
    "spark_version": "8.1.x-scala2.12",
    "node_type_id": "Standard_F16s",
    "enable_elastic_disk": true,
    "azure_attributes": {
      "availability": "ON_DEMAND_AZURE"
    },
    "num_workers": 8
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}
{
  "run_id": 123
}