執行 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,請執行下列動作:
將 CLI 更新為 0.16.0 版或更新版本。
執行下列其中一個動作:
- 執行命令
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_more
傳 true
回 ,則會提供其他執行的相關資訊。 --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
}