CLI運行
運行Databricks作業時,通過將CLI子命令追加到磚運行
和Databricks通過將CLI子命令追加到磚工作
.有關Databricks作業CLI子命令,請參見喬布斯CLI.這些子命令一起調用職位API 2.1而且Jobs API 2.0.
重要的
運行CLI的Databricks作業支持調用兩個版本的Databricks作業REST API:版本2.1和2.0。(作業運行功能是Jobs REST API的一部分。)版本2.1增加了對多任務作業編排的支持;看到創建、運行和管理Databricks作業而且job API更新.Databricks建議您調用版本2.1,除非您有依賴於版本2.0且無法遷移的遺留腳本。
除非另有說明,本文中描述的編程行為同樣適用於版本2.1和2.0。
請注意
如果在job運行CLI請求時收到500級錯誤,Databricks建議重試請求最多10分鍾(重試間隔至少30秒)。
調用作業REST API 2.1的要求
要設置Databricks作業運行CLI(以及jobs CLI)來調用jobs REST API 2.1,請執行以下操作:
更新命令行到0.16.0或以上版本。
做以下其中一件事:
執行命令
磚工作配置——版本= 2.1
.這就添加了設置jobs-api-version=2.1
到文件~ / .databrickscfg
在Unix、Linux或macOS上運行% USERPROFILE % \ .databrickscfg
在Windows上。默認情況下,所有作業運行CLI(以及作業CLI)子命令都將調用jobs REST API 2.1。手動添加設置
jobs-api-version=2.1
到文件~ / .databrickscfg
在Unix、Linux或macOS上運行% USERPROFILE % \ .databrickscfg
在Windows上。默認情況下,所有作業運行CLI(以及作業CLI)子命令都將調用jobs REST API 2.1。附加選項
——版本= 2.1
(例如,磚運行列表——版本= 2.1
),指示作業運行CLI調用Jobs REST API 2.1,僅用於該調用。
如果不采取上述任何操作,作業運行CLI(作業CLI)將默認調用jobs REST API 2.0。
調用作業REST API 2.0的要求
要設置Databricks作業運行CLI(以及作業CLI)來調用jobs REST API 2.0,請執行以下操作之一:
使用低於0.16.0的Databricks CLI版本
更新命令行到0.16.0或更高版本,然後執行以下操作之一:
執行命令
磚工作配置——版本= 2.0
.這就添加了設置jobs-api-version=2.0
到文件~ / .databrickscfg
在Unix、Linux或macOS上運行% USERPROFILE % \ .databrickscfg
在Windows上。默認情況下,所有作業運行CLI(以及作業CLI)子命令都將調用jobs REST API 2.0。手動添加設置
jobs-api-version=2.0
到文件~ / .databrickscfg
在Unix、Linux或macOS上運行% USERPROFILE % \ .databrickscfg
在Windows上。默認情況下,所有作業運行CLI(以及作業CLI)子命令都將調用jobs REST API 2.0。附加選項
——版本= 2.1
(例如,磚運行列表——版本= 2.0
),指示作業運行CLI僅為該調用調用Jobs REST API 2.0。
如果不采取上述任何操作,作業運行CLI(作業CLI)將默認調用jobs REST API 2.0。
子命令和一般用法
Databricks運行——救命
用法:databricks runs [OPTIONS] COMMAND [ARGS]…與作業運行交互的實用程序。選項:-v,——version [version]——debug調試模式。顯示錯誤時的全堆棧跟蹤。——profile TEXT要使用的CLI連接配置文件。默認配置文件為default。-h,——help顯示此消息並退出。命令:cancel取消指定的運行。get以JSON形式獲取有關運行的元數據。get-output獲取運行的輸出。 list Lists job runs. submit Submits a one-time run.
獲取有關跑步的信息
要顯示使用文檔,請運行磚運行得到——幫助
.
Jobs CLI 2.0響應示例
{“job_id”:239年,“run_id”:119年,“number_in_job”:1、“original_attempt_run_id”:119年,“狀態”:{“life_cycle_state”:“終止”,“result_state”:“成功”,“state_message”:“},"任務":{" notebook_task ": {:“notebook_path /用戶/ someone@example.com/notebooks/my-notebook.ipynb”}}," cluster_spec ": {" new_cluster ": {:“spark_version 8.1.x-scala2.12”," aws_attributes ": {:“zone_id us-west-2c”,“可用性”:“SPOT_WITH_FALLBACK”},:“node_type_id m5d.large”,“enable_elastic_disk”:假的,“num_workers”:1}}," cluster_instance ": {“cluster_id”:“1234 - 567890 abcd123”,“spark_context_id”:“1234567890123456789”},“start_time”:1618510327335,“setup_duration”:191000年,“execution_duration”:41000年,“cleanup_duration”:2000年,“end_time”:1618510561615,“觸發”:“ONE_TIME”,“creator_user_name”:“someone@example.com”,:“run_name my-notebook-run”,:“run_page_url https://dbc-a1b2345c-d6e7.cloud.www.eheci.com/?o=1234567890123456作業/ 239 /運行/ 1”,:“run_type JOB_RUN”,“attempt_number”:0}
獲取運行的輸出
要顯示使用文檔,請運行磚運行輸出——幫助
.
請注意
當一個notebook_task
的調用返回一個值dbutils.notebook.exit ()
, Databricks將返回值限製為前5mb的數據。如果要返回較大的結果,可以將作業結果存儲在雲存儲服務中。
Jobs CLI 2.0響應示例
{“元數據”:{“job_id”:239年,“run_id”:119年,“number_in_job”:1、“original_attempt_run_id”:119年,“狀態”:{“life_cycle_state”:“終止”,“result_state”:“成功”,“state_message”:“},"任務":{" notebook_task ": {:“notebook_path /用戶/ someone@example.com/notebooks/my-notebook.ipynb”}}," cluster_spec ": {" new_cluster ": {:“spark_version 8.1.x-scala2.12”," aws_attributes ": {:“zone_id us-west-2c”,“可用性”:“SPOT_WITH_FALLBACK”},:“node_type_id m5d.large”,“enable_elastic_disk”:假的,“num_workers”:1}}," cluster_instance ": {“cluster_id”:“1234 - 567890 abcd123”,“spark_context_id”:“1234567890123456789”},“start_time”:1618510327335,“setup_duration”:191000年,“execution_duration”:41000年,“cleanup_duration”:2000年,“end_time”:1618510561615,“觸發”:“ONE_TIME”,“creator_user_name”:“someone@example.com”,:“run_name my-notebook-run”,:“run_page_url https://dbc-a1b2345c-d6e7.cloud.www.eheci.com/?o=1234567890123456作業/ 239 /運行/ 1”,:“run_type JOB_RUN”,“attempt_number”:0},“notebook_output”:{}}
獲取有關所有運行的信息
要顯示使用文檔,請運行磚運行列表——幫助
.
Jobs CLI 2.0響應示例
{“運行”:({“job_id”:239年,“run_id”:119年,“number_in_job”:1、“original_attempt_run_id”:119年,“狀態”:{“life_cycle_state”:“終止”,“result_state”:“成功”,“state_message”:“},"任務":{" notebook_task ": {:“notebook_path /用戶/ someone@example.com/notebooks/my-notebook.ipynb”}}," cluster_spec ": {" new_cluster ": {:“spark_version 8.1.x-scala2.12”," aws_attributes ": {:“zone_id us-west-2c”,“可用性”:“SPOT_WITH_FALLBACK”},:“node_type_id m5d.large”,“enable_elastic_disk”:假的,“num_workers”:1}}," cluster_instance ": {“cluster_id”:“1234 - 567890 abcd123”,“spark_context_id”:“1234567890123456789”},“start_time”:1618510327335,“setup_duration”:191000年,“execution_duration”:41000年,“cleanup_duration”:2000年,“end_time”:1618510561615,“觸發”:“ONE_TIME”,“creator_user_name”:“someone@example.com”,:“run_name my-notebook-run”,:“run_page_url https://dbc-a1b2345c-d6e7.cloud.www.eheci.com/?o=1234567890123456作業/ 239 /運行/ 1”,:“run_type JOB_RUN”,“attempt_number”:0},...),“has_more”:假的}
如果has_more
返回真正的
,關於額外運行的信息是可用的。使用——抵消
選項,返回有關相對於最近運行的運行的信息。例如,要返回從最近第10次運行開始的信息,請指定——抵消10
.
使用——限製
選項,返回關於固定數量的運行的信息。例如,要返回最多接下來5次運行的信息,請指定——限製5
.您最多可以指定1000次運行。如果未指定,默認值為20。
提交一次運行
要顯示使用文檔,請運行磚運行提交——幫助
.
作業REST API 2.0請求和響應示例
submit-run.json
:
{“run_name”:“my-spark-run”,“new_cluster”:{“spark_version”:“7.3.x-scala2.12”,“node_type_id”:“r3.xlarge”,“aws_attributes”:{“可用性”:“ON_DEMAND”},“num_workers”:10},“庫”:[{“罐子”:“dbfs: / my-jar.jar”},{“專家”:{“坐標”:“org.jsoup: jsoup: 1.7.2”}}),“spark_jar_task”:{“main_class_name”:“com.databricks.ComputeModels”}}
{“run_id”:123}