共用方式為


執行 CLI (舊版)

重要

此檔已淘汰,且可能未更新。

此資訊適用于舊版 Databricks CLI 0.18 版和更新版本。 Databricks 建議您改用較新的 Databricks CLI 0.205 版或更新版本。 請參閱 什麼是 Databricks CLI? 。 若要尋找 Databricks CLI 的版本,請執行 databricks -v

若要從 Databricks CLI 0.18 版或更新版本移轉至 Databricks CLI 0.205 版或更新版本,請參閱 Databricks CLI 移轉

您可以藉由將 CLI 子命令附加至 和 databricks runs Databricks 作業 CLI 子命令,以執行 Databricks 作業執行 CLI 子命令,方法是將它們附加至 databricks jobs 。 如需 Databricks 作業 CLI 子命令,請參閱 作業 CLI (舊版) 。 這些子命令會一起呼叫 作業 API 作業 API 2.0

重要

Databricks 作業執行 CLI 支援呼叫兩個版本的 Databricks 作業 REST API:2.1 版和 2.0 版。 (作業執行功能是作業 REST API 的一部分。2.1 版新增對具有多個工作之作業協調流程的支援;請參閱 建立和執行 Azure Databricks 作業和 從作業 API 2.0 更新至 2.1 。 Databricks 建議您呼叫 2.1 版,除非您有依賴 2.0 版且無法移轉的舊版腳本。

除非另有指定,否則本文所述的程式設計行為同樣適用于 2.1 和 2.0 版。

注意

如果您在進行作業執行 CLI 要求時收到 500 層級的錯誤,Databricks 建議重試要求最多 10 分鐘(重試間隔最少 30 秒)。

呼叫作業 REST API 2.1 的需求

若要設定 Databricks 作業執行 CLI(和作業 CLI)以呼叫作業 REST API 2.1,請執行下列動作:

  1. 將 CLI 更新為 0.16.0 版或更新版本。

  2. 執行下列其中一個動作:

    • 執行命令 databricks jobs configure --version=2.1。 這會將 設定 jobs-api-version = 2.1 新增至 Unix、Linux 或 macOS %USERPROFILE%\.databrickscfg 或 Windows 上的檔案 ~/.databrickscfg 。 所有作業都會執行 CLI (和 jobs CLI) 子命令,預設會呼叫作業 REST API 2.1。
    • 在 Unix、Linux 或 macOS %USERPROFILE%\.databrickscfg 或 Windows 上手動將設定 jobs-api-version = 2.1 新增至 ~/.databrickscfg 檔案。 所有作業都會執行 CLI (和 jobs CLI) 子命令,預設會呼叫作業 REST API 2.1。
    • 附加 選項 --version=2.1 (例如 databricks runs list --version=2.1 , ) 指示作業執行 CLI 只針對該呼叫呼叫呼叫作業 REST API 2.1。

    如果您未採取上述任何動作,作業會執行 CLI(和作業 CLI)預設會呼叫作業 REST API 2.0。

呼叫作業 REST API 2.0 的需求

若要設定 Databricks 作業執行 CLI(和作業 CLI)以呼叫作業 REST API 2.0,請執行下列其中一項:

  • 使用 0.16.0 以下的 Databricks CLI 版本,或
  • 將 CLI 更新為 0.16.0 版或更新版本,然後執行下列其中一項:
    • 執行命令 databricks jobs configure --version=2.0。 這會將 設定 jobs-api-version = 2.0 新增至 Unix、Linux 或 macOS %USERPROFILE%\.databrickscfg 或 Windows 上的檔案 ~/.databrickscfg 。 所有作業都會執行 CLI (和 jobs CLI) 子命令,預設會呼叫作業 REST API 2.0。
    • 在 Unix、Linux 或 macOS %USERPROFILE%\.databrickscfg 或 Windows 上手動將設定 jobs-api-version = 2.0 新增至 ~/.databrickscfg 檔案。 所有作業都會執行 CLI (和 jobs CLI) 子命令,預設會呼叫作業 REST API 2.0。
    • 附加 選項 --version=2.1 (例如 databricks runs list --version=2.0 , ) 指示作業執行 CLI 只針對該呼叫呼叫呼叫作業 REST API 2.0。

如果您未採取上述任何動作,作業會執行 CLI(和作業 CLI)預設會呼叫作業 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

作業 CLI 2.1 使用注意事項和回應範例

請參閱 從作業 API 2.0 更新至 2.1 中的 執行 。

作業 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_task當 從 呼叫 dbutils.notebook.exit() 傳回值時,Databricks 會將傳回的值限制為前 5 MB 的資料。 若要傳回較大的結果,您可以將作業結果儲存在雲端儲存體服務中。

一般使用方式

databricks runs get-output --run-id 2785782

作業 CLI 2.1 使用注意事項

請參閱 從作業 API 2.0 更新至 2.1 中的 執行取得輸出 。

作業 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

作業 CLI 2.1 使用注意事項和回應範例

請參閱 從作業 API 2.0 更新至 2.1 中的 執行清單 。

作業 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使用 選項可傳回與最近執行相關的執行相關資訊。 例如,若要傳回從最近第十次執行開始的資訊,請指定 --offset 10

--limit使用 選項可傳回固定執行數目的相關資訊。 例如,若要傳回最多接下來 5 次執行的資訊,請指定 --limit 5 。 您可以指定最多 1000 個執行。 如果未指定,則預設值為 20。

提交一次性執行

若要顯示使用方式檔,請執行 databricks runs submit --help

一般使用方式

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

作業 REST API 2.1 使用注意事項和要求範例

請參閱 從作業 API 2.0 更新至 2.1 中的 執行提交 。

作業 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
}