作業 API 2.0
重要
本文記載了 2.0 版的作業 API。 不過,Databricks 建議針對新的和現有的用戶端和腳本使用 作業 API 2.1 。 如需 2.0 到 2.1 版本變更的詳細資訊,請參閱 從作業 API 2.0 更新至 2.1。
作業 API 可讓您建立、編輯和刪除作業。 對作業 API 的要求允許大小上限為 10MB。
如需使用 Azure Databricks 作業支援多個工作協調流程之作業 API 更新的詳細資訊,請參閱 從作業 API 2.0 更新至 2.1。
警告
您絕對不應該硬式編碼秘密,或將它們儲存在純文本中。 使用秘密 API 來管理 Databricks CLI 中的秘密。 使用 Secrets 公用程式 (dbutils.secrets) 參考筆記本和作業中的秘密。
注意
如果您在提出作業 API 要求時收到 500 層錯誤,Databricks 建議重試要求最多 10 分鐘(重試間隔最少 30 秒)。
重要
若要存取 Databricks REST API,您必須驗證。
創建
端點 | HTTP 方法 |
---|---|
2.0/jobs/create |
POST |
建立新作業。
範例
此範例會建立一個作業,該作業會在每晚下午 10:15 執行 JAR 工作。
要求
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .
create-job.json
:
{
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 3600,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。- 的內容
create-job.json
,包含適合您解決方案的欄位。
回應
{
"job_id": 1
}
要求結構
重要
- 當您在新作業叢集上執行作業時,作業會被視為作業計算(自動化)工作負載,受限於作業計算定價。
- 當您在現有的所有用途叢集上執行作業時,它會被視為受所有用途計算定價約束的全用途計算(互動式)工作負載。
欄位名稱 | 類型 | 描述 |
---|---|---|
existing_cluster_id 或 new_cluster |
STRING OR NewCluster |
如果existing_cluster_id,將用於此作業所有執行的現有叢集標識符。 在現有叢集上執行作業時,如果叢集停止回應,您可能需要手動重新啟動叢集。 我們建議在新叢集上執行作業,以取得更高的可靠性。 如果new_cluster,將會針對每個執行建立的叢集描述。 如果指定 PipelineTask,此字段可以是空的。 |
notebook_task OR 或spark_jar_task spark_python_task OR 或spark_submit_task pipeline_task 或 run_job_task |
NotebookTask 或 SparkJarTask 或 SparkPythonTask 或 SparkSubmitTaskOR PipelineTask OR RunJobTask | 如果notebook_task,表示此作業應該執行筆記本。 此欄位可能不會與spark_jar_task一起指定。 如果spark_jar_task,表示此作業應該執行 JAR。 如果spark_python_task,表示此作業應該執行 Python 檔案。 如果spark_submit_task,表示 Spark 提交腳本應該啟動此作業。 如果pipeline_task,表示此作業應該執行 Delta Live Tables 管線。 如果run_job_task,表示此作業應該執行另一個作業。 |
name |
STRING |
作業的選擇性名稱。 預設值是 Untitled 。 |
libraries |
連結庫的 陣列 | 要安裝在將執行作業之叢集上的選擇性連結庫清單。 預設值是空的清單。 |
email_notifications |
JobEmailNotifications | 選擇性的一組電子郵件位址會在執行此作業開始和完成時以及刪除此作業時收到通知。 默認行為是不要傳送任何電子郵件。 |
webhook_notifications |
WebhookNotifications | 選擇性的系統目的地集合,可在執行此作業時開始、完成或失敗時通知。 |
notification_settings |
JobNotification 設定 | 將通知傳送至每個 email_notifications 和 webhook_notifications 作業時所使用的選擇性通知設定。 |
timeout_seconds |
INT32 |
套用至此作業每個執行的選擇性逾時。 默認行為是沒有逾時。 |
max_retries |
INT32 |
選擇性的重試失敗執行次數上限。 如果執行與 result_state 完成 FAILED ,則視為失敗INTERNAL_ERROR life_cycle_state . 值 -1 表示無限期重試,而值 0 表示永遠不會重試。 默認行為是永不重試。 |
min_retry_interval_millis |
INT32 |
失敗執行開始與後續重試執行之間的選擇性最小間隔,以毫秒為單位。 默認行為是立即重試失敗的執行。 |
retry_on_timeout |
BOOL |
選擇性原則,指定是否要在作業逾時時重試作業。默認行為是不要在逾時時重試。 |
schedule |
CronSchedule | 此作業的選擇性定期排程。 默認行為是,在作業 UI 中按兩下 [立即 執行] 或將 API 要求傳送至 runNow ,以觸發作業時執行作業。 |
max_concurrent_runs |
INT32 |
作業並行執行數目的選擇性上限。 如果您想要能夠同時執行相同作業的多個執行,請設定此值。 例如,如果您以頻繁的排程觸發作業,並且想要允許連續執行彼此重疊,或如果您想要觸發因輸入參數而異的多個執行,這非常有用。 此設定只會影響新的執行。 例如,假設作業的並行存取是 4,而且有 4 個並行作用中執行。 然後將並行設定為 3 不會終止任何作用中的執行。 不過,從那時起,除非有少於 3 個作用中的執行,否則會略過新的執行。 此值不能超過 1000。 將此值設定為 0 會導致略過所有新的執行。 默認行為是只允許 1 個並行執行。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
新建立作業的正式標識碼。 |
清單
端點 | HTTP 方法 |
---|---|
2.0/jobs/list |
GET |
列出所有作業。
範例
要求
curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .
<databricks-instance>
取代為 Azure Databricks 工作區實例名稱,例如 adb-1234567890123456.7.azuredatabricks.net
。
回應
{
"jobs": [
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
]
}
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
jobs |
Job 的 陣列 | 作業清單。 |
刪除
端點 | HTTP 方法 |
---|---|
2.0/jobs/delete |
POST |
刪除作業,並將電子郵件傳送至 中指定的 JobSettings.email_notifications
位址。 如果作業已經移除,則不會發生任何動作。 拿掉作業之後,作業 UI 或 API 中不會顯示其詳細數據,也不會顯示其執行歷程記錄。 作業保證會在完成此要求時移除。 不過,收到此要求之前作用中的執行可能仍為作用中。 它們將會以異步方式終止。
範例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<job-id>
具有作業的識別碼,例如123
。
此範例使用 .netrc 檔案。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
要刪除之作業的正式標識碼。 這是必要欄位。 |
獲取
端點 | HTTP 方法 |
---|---|
2.0/jobs/get |
GET |
擷取單一作業的相關信息。
範例
要求
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .
或:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<job-id>
具有作業的識別碼,例如123
。
回應
{
"job_id": 1,
"settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
},
"created_time": 1457570074236
}
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
要擷取相關信息之作業的正式標識碼。 這是必要欄位。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
此作業的正式識別碼。 |
creator_user_name |
STRING |
建立者用戶名稱。 如果使用者已刪除,此欄位將不會包含在回應中。 |
settings |
作業 設定 | 此作業及其所有執行 設定。 您可以使用重 設 或 更新 端點來更新這些設定。 |
created_time |
INT64 |
建立此作業的時間,以 epoch 毫秒為單位(自 1/1/1970 UTC 起的毫秒數)。 |
重置
端點 | HTTP 方法 |
---|---|
2.0/jobs/reset |
POST |
範例
這個範例要求會讓作業 2 與建立範例中的作業 1 相同。
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .
reset-job.json
:
{
"job_id": 2,
"new_settings": {
"name": "Nightly model training",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"timeout_seconds": 100000000,
"max_retries": 1,
"schedule": {
"quartz_cron_expression": "0 15 22 * * ?",
"timezone_id": "America/Los_Angeles",
"pause_status": "UNPAUSED"
},
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
}
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。- 的內容
reset-job.json
,包含適合您解決方案的欄位。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
要重設之作業的正式標識碼。 這是必要欄位。 |
new_settings |
作業 設定 | 作業的新設定。 這些設定會完全取代舊的設定。 欄位 JobSettings.timeout_seconds 的變更會套用至使用中的執行。 其他欄位的變更只會套用至未來的執行。 |
更新
端點 | HTTP 方法 |
---|---|
2.0/jobs/update |
POST |
新增、變更或移除現有作業的特定設定。 使用 [ 重設 端點] 覆寫所有作業設定。
範例
此範例要求會移除連結庫,並將電子郵件通知設定新增至建立範例中定義的作業 1。
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .
update-job.json
:
{
"job_id": 1,
"new_settings": {
"existing_cluster_id": "1201-my-cluster",
"email_notifications": {
"on_start": [ "someone@example.com" ],
"on_success": [],
"on_failure": []
}
},
"fields_to_remove": ["libraries"]
}
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。- 的內容
update-job.json
,包含適合您解決方案的欄位。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
要更新之作業的正式標識碼。 這是必要欄位。 |
new_settings |
作業 設定 | 作業的新設定。 在 中指定的 new_settings 最上層欄位會完全取代數位以外的欄位。 陣列會根據個別索引鍵欄位合併,例如 task_key 或job_cluster_key 會完全取代具有相同索引鍵的、 和陣列專案。 除了數組合並之外,不支援部分更新巢狀欄位。欄位 JobSettings.timeout_seconds 的變更會套用至使用中的執行。 其他欄位的變更只會套用至未來的執行。 |
fields_to_remove |
的陣列 STRING |
拿掉作業設定中的最上層欄位。 除了 和 job_clusters 陣列中的專案tasks 之外,不支援移除巢狀欄位。 例如,以下是此欄位的有效自變數:["libraries", "schedule", "tasks/task_1", "job_clusters/Default"] 這是選用欄位。 |
立即執行
重要
- 工作區限制為1000個並行工作執行。
429 Too Many Requests
回應會在您要求無法立即啟動的執行時傳回。 - 工作區一小時內可建立的工作數目限制為10000個(包括「執行提交」)。 這項限制也會影響 REST API 和筆記本工作流程所建立的作業。
端點 | HTTP 方法 |
---|---|
2.0/jobs/run-now |
POST |
立即執行工作,並傳回 run_id
所觸發回合的 。
範例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .
run-job.json
:
筆記本作業的範例要求:
{
"job_id": 1,
"notebook_params": {
"name": "john doe",
"age": "35"
}
}
JAR 作業的範例要求:
{
"job_id": 2,
"jar_params": [ "john doe", "35" ]
}
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。- 的內容
run-job.json
,包含適合您解決方案的欄位。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
|
jar_params |
的陣列 STRING |
具有 JAR 工作之作業的參數清單,例如 "jar_params": ["john doe", "35"] 。 參數將用來叫用 Spark JAR 工作中指定之 main 類別的 main 函式。 如果未在 上 run-now 指定 ,則會預設為空白清單。 無法搭配notebook_params指定jar_params。 此欄位的 JSON 表示法(亦即 {"jar_params":["john doe","35"]} ) 不能超過 10,000 個字節。 |
notebook_params |
ParamPair 地圖 | 從索引鍵對應至具有筆記本工作之作業的值,例如"notebook_params": {"name": "john doe", "age": "35"} . 對應會傳遞至筆記本,並可透過 dbutils.widgets.get 函式存取。如果未在 上 run-now 指定,則觸發的執行會使用作業的基底參數。您無法搭配jar_params指定notebook_params。 此欄位的 JSON 表示法(亦即 {"notebook_params":{"name":"john doe","age":"35"}} 不能超過 10,000 個字節。 |
python_params |
的陣列 STRING |
具有 Python 工作之作業的參數清單,例如 "python_params": ["john doe", "35"] 。 參數會以命令行參數的形式傳遞至 Python 檔案。 如果在 上 run-now 指定 ,則會覆寫作業設定中指定的參數。 此欄位的 JSON 表示法(亦即 {"python_params":["john doe","35"]} ) 不能超過 10,000 個字節。 |
spark_submit_params |
的陣列 STRING |
具有Spark提交工作的作業參數清單,例如"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . 參數會以命令行參數的形式傳遞至spark-submit腳本。 如果在 上 run-now 指定 ,則會覆寫作業設定中指定的參數。 此欄位的 JSON 表示不能超過 10,000 個字節。 |
idempotency_token |
STRING |
選擇性令牌,可保證作業執行要求的等冪性。 如果已存在具有所提供令牌的執行,要求不會建立新的執行,而是傳回現有執行的標識碼。 如果已刪除具有所提供令牌的執行,則會傳回錯誤。 如果您指定等冪令牌,則在失敗時,您可以重試直到要求成功為止。 Azure Databricks 保證只有一個執行是以該等冪令牌啟動。 此令牌最多必須有64個字元。 如需詳細資訊,請參閱 如何確保作業的等冪性。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
新觸發回合的全域唯一標識符。 |
number_in_job |
INT64 |
此執行在作業的所有回合中執行的序號。 |
執行提交
重要
- 工作區限制為1000個並行工作執行。
429 Too Many Requests
回應會在您要求無法立即啟動的執行時傳回。 - 工作區一小時內可建立的工作數目限制為10000個(包括「執行提交」)。 這項限制也會影響 REST API 和筆記本工作流程所建立的作業。
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/submit |
POST |
提交一次性執行。 此端點可讓您直接提交工作負載,而不需要建立作業。 jobs/runs/get
使用 API 來檢查提交作業之後的執行狀態。
範例
要求
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .
submit-job.json
:
{
"run_name": "my spark task",
"new_cluster": {
"spark_version": "7.3.x-scala2.12",
"node_type_id": "Standard_D3_v2",
"num_workers": 10
},
"libraries": [
{
"jar": "dbfs:/my-jar.jar"
},
{
"maven": {
"coordinates": "org.jsoup:jsoup:1.7.2"
}
}
],
"spark_jar_task": {
"main_class_name": "com.databricks.ComputeModels"
}
}
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。- 的內容
submit-job.json
,包含適合您解決方案的欄位。
回應
{
"run_id": 123
}
要求結構
重要
- 當您在新作業叢集上執行作業時,作業會被視為作業計算(自動化)工作負載,受限於作業計算定價。
- 當您在現有的所有用途叢集上執行作業時,它會被視為受所有用途計算定價約束的全用途計算(互動式)工作負載。
欄位名稱 | 類型 | 描述 |
---|---|---|
existing_cluster_id 或 new_cluster |
STRING OR NewCluster |
如果existing_cluster_id,將用於此作業所有執行的現有叢集標識符。 在現有叢集上執行作業時,如果叢集停止回應,您可能需要手動重新啟動叢集。 我們建議在新叢集上執行作業,以取得更高的可靠性。 如果new_cluster,將會針對每個執行建立的叢集描述。 如果指定 PipelineTask,則此字段可以是空的。 |
notebook_task OR 或spark_jar_task spark_python_task OR 或spark_submit_task pipeline_task 或 run_job_task |
NotebookTask 或 SparkJarTask 或 SparkPythonTask 或 SparkSubmitTaskOR PipelineTask OR RunJobTask | 如果notebook_task,表示此作業應該執行筆記本。 此欄位可能不會與spark_jar_task一起指定。 如果spark_jar_task,表示此作業應該執行 JAR。 如果spark_python_task,表示此作業應該執行 Python 檔案。 如果spark_submit_task,表示 Spark 提交腳本應該啟動此作業。 如果pipeline_task,表示此作業應該執行 Delta Live Tables 管線。 如果run_job_task,表示此作業應該執行另一個作業。 |
run_name |
STRING |
執行的選擇性名稱。 預設值是 Untitled 。 |
webhook_notifications |
WebhookNotifications | 選擇性的系統目的地集合,可在執行此作業時開始、完成或失敗時通知。 |
notification_settings |
JobNotification 設定 | 選擇性的通知設定,用於將通知傳送至此執行的每個 webhook_notifications 。 |
libraries |
連結庫的 陣列 | 要安裝在將執行作業之叢集上的選擇性連結庫清單。 預設值是空的清單。 |
timeout_seconds |
INT32 |
套用至此作業每個執行的選擇性逾時。 默認行為是沒有逾時。 |
idempotency_token |
STRING |
選擇性令牌,可保證作業執行要求的等冪性。 如果已存在具有所提供令牌的執行,要求不會建立新的執行,而是傳回現有執行的標識碼。 如果已刪除具有所提供令牌的執行,則會傳回錯誤。 如果您指定等冪令牌,則在失敗時,您可以重試直到要求成功為止。 Azure Databricks 保證只有一個執行是以該等冪令牌啟動。 此令牌最多必須有64個字元。 如需詳細資訊,請參閱 如何確保作業的等冪性。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
新提交的執行標準標識碼。 |
執行清單
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/list |
GET |
清單會依開始時間以遞減順序執行。
注意
執行會在 60 天后自動移除。 如果您想要參考超過 60 天的時間,您應該在過期之前儲存舊的執行結果。 若要使用UI匯出,請參閱 匯出作業執行結果。 若要使用作業 API 匯出,請參閱 執行匯出。
範例
要求
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
或:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<job-id>
具有作業的識別碼,例如123
。<true-false>
具有true
或false
。<offset>
offset
具有值。<limit>
limit
具有值。<run-type>
run_type
具有值。
回應
{
"runs": [
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/donald@duck.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
],
"has_more": true
}
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
active_only 或 completed_only |
BOOL 或 BOOL |
如果active_only為 true ,則結果中只會包含作用中的執行,否則會同時列出作用中和已完成的執行。 作用中的執行是在、 RUNNING 或 TERMINATING RunLifecycleState 中PENDING 執行。 當 completed_only 為時,這個欄位不能 true 是 true 。如果completed_only為 true ,則結果中只會包含已完成的執行,否則會同時列出作用中和已完成的執行。 當 active_only 為時,這個欄位不能 true 是 true 。 |
job_id |
INT64 |
要列出其執行的作業。 如果省略,則作業服務會列出從所有作業執行的作業。 |
offset |
INT32 |
要傳回之第一個回合的位移,相對於最近的執行。 |
limit |
INT32 |
要傳回的執行數目。 此值應大於 0 且小於 1000。 預設值為 20。 如果要求指定 0 的限制,服務會改用上限。 |
run_type |
STRING |
要傳回的執行類型。 如需執行類型的描述,請參閱 執行。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
runs |
Run 的 陣列 | 從最近開始到最少的執行清單。 |
has_more |
BOOL |
如果為 true,則會提供符合所提供篩選條件的其他執行可供列出。 |
執行取得
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/get |
GET |
擷取執行的元數據。
注意
執行會在 60 天后自動移除。 如果您想要參考超過 60 天的時間,您應該在過期之前儲存舊的執行結果。 若要使用UI匯出,請參閱 匯出作業執行結果。 若要使用作業 API 匯出,請參閱 執行匯出。
範例
要求
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .
或:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<run-id>
執行的識別碼, 例如123
。
回應
{
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "RUNNING",
"state_message": "Performing action"
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"end_time": 1457570075149,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
}
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
要為其擷取元數據的執行標準標識碼。 這是必要欄位。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
包含此回合之作業的正式識別碼。 |
run_id |
INT64 |
執行的主要識別碼。 此標識碼在所有作業的所有執行中都是唯一的。 |
number_in_job |
INT64 |
此執行在作業的所有回合中執行的序號。 此值從 1 開始。 |
original_attempt_run_id |
INT64 |
如果此執行是先前執行嘗試的重試,此欄位會包含原始嘗試的run_id;否則,它與run_id相同。 |
state |
RunState | 執行的結果和生命周期狀態。 |
schedule |
CronSchedule | 如果定期排程器觸發此排程,就會觸發此執行的cron排程。 |
task |
JobTask | 執行所執行的工作,如果有的話。 |
cluster_spec |
ClusterSpec | 建立此執行時作業叢集規格的快照集。 |
cluster_instance |
ClusterInstance | 用於此執行的叢集。 如果指定執行以使用新的叢集,則一旦作業服務要求執行叢集,就會設定此字段。 |
overriding_parameters |
RunParameters | 用於此執行的參數。 |
start_time |
INT64 |
此執行開始的時間以 epoch 毫秒為單位(自 1/1/1970 UTC 起的毫秒數)。 這可能不是作業工作開始執行的時間,例如,如果作業排定在新叢集上執行,這就是叢集建立呼叫發出的時間。 |
end_time |
INT64 |
此回合以 epoch 毫秒結束的時間(自 1/1/1970 UTC 起的毫秒)。 如果作業仍在執行中,此欄位將會設定為 0。 |
setup_duration |
INT64 |
設定叢集所花費的時間以毫秒為單位。 對於在新叢集上執行的執行,這是叢集建立時間,對於這次在現有叢集上執行的執行應該很短。 執行的總持續時間是的總和 setup_duration 。execution_duration 和 cleanup_duration 。 欄位 setup_duration 會針對多任務作業執行設定為 0。 多任務作業執行的總持續時間是的值run_duration 領域。 |
execution_duration |
INT64 |
執行 JAR 或筆記本中命令所花費的時間,以毫秒為單位,直到它們完成、失敗、逾時、已取消,或發生未預期的錯誤。 執行的總持續時間是 setup_duration 、 execution_duration 和 的總和cleanup_duration . 欄位 execution_duration 會針對多任務作業執行設定為 0。 多任務作業執行的總持續時間是 欄位的值 run_duration 。 |
cleanup_duration |
INT64 |
終止叢集並清除任何相關聯的成品所花費的時間以毫秒為單位。 執行的總持續時間是 setup_duration 、 execution_duration 和 的總和 cleanup_duration 。 欄位 cleanup_duration 會針對多任務作業執行設定為 0。 多任務作業執行的總持續時間是 欄位的值 run_duration 。 |
run_duration |
INT64 |
作業執行及其所有修復完成的時間,以毫秒為單位。 此欄位只會針對多任務作業執行設定,而不是工作執行。 工作執行的持續時間是的總和setup_duration 、 execution_duration 和 cleanup_duration 。 |
trigger |
TriggerType | 引發此回合的觸發程序類型。 |
creator_user_name |
STRING |
建立者用戶名稱。 如果使用者已刪除,此欄位將不會包含在回應中 |
run_page_url |
STRING |
執行詳細數據頁面的 URL。 |
執行匯出
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/export |
GET |
匯出和擷取作業執行工作。
注意
只能以 HTML 格式匯出筆記本執行。 匯出其他類型的執行將會失敗。
範例
要求
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .
或:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<run-id>
執行的識別碼, 例如123
。
回應
{
"views": [ {
"content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
"name": "my-notebook",
"type": "NOTEBOOK"
} ]
}
若要從 JSON 回應擷取 HTML 筆記本,請下載並執行此 Python 腳本。
注意
物件中的 __DATABRICKS_NOTEBOOK_MODEL
筆記本主體會編碼。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
執行中的標準標識碼。 這是必要欄位。 |
views_to_export |
ViewsToExport | 要導出的檢視 (CODE、DASHBOARDS 或 ALL)。 預設為 CODE。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
views |
ViewItem 的 陣列 | HTML 格式匯出的內容(每個檢視專案各一個)。 |
執行取消
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/cancel |
POST |
取消作業執行。 因為執行是以異步方式取消,因此當此要求完成時,執行可能仍在執行中。 執行將會很快終止。 如果執行已經在終端 life_cycle_state
機中,則這個方法為 no-op。
此端點會 run_id
驗證參數是否有效,且無效的參數會傳回 HTTP 狀態代碼 400。
範例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<run-id>
執行的識別碼, 例如123
。
此範例使用 .netrc 檔案。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
要取消的執行標準標識碼。 這是必要欄位。 |
執行全部取消
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/cancel-all |
POST |
取消作業的所有使用中執行。 因為執行是以異步方式取消,所以不會防止啟動新的執行。
此端點會 job_id
驗證參數是否有效,且無效的參數會傳回 HTTP 狀態代碼 400。
範例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<job-id>
具有作業的識別碼,例如123
。
此範例使用 .netrc 檔案。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
要取消所有執行作業的正式識別碼。 這是必要欄位。 |
執行取得輸出
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/get-output |
GET |
擷取單一工作執行的輸出和元數據。 當筆記本工作透過 dbutils.notebook.exit() 呼叫傳回值時,您可以使用此端點來擷取該值。 Azure Databricks 會限制此 API 傳回輸出的前 5 MB。 若要傳回較大的結果,您可以將作業結果儲存在雲端記憶體服務中。
此端點會 run_id
驗證參數是否有效,且無效的參數會傳回 HTTP 狀態代碼 400。
執行會在 60 天后自動移除。 如果您想要參考超過 60 天的時間,您應該在過期之前儲存舊的執行結果。 若要使用UI匯出,請參閱 匯出作業執行結果。 若要使用作業 API 匯出,請參閱 執行匯出。
範例
要求
curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .
或:
curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<run-id>
執行的識別碼, 例如123
。
回應
{
"metadata": {
"job_id": 1,
"run_id": 452,
"number_in_job": 5,
"state": {
"life_cycle_state": "TERMINATED",
"result_state": "SUCCESS",
"state_message": ""
},
"task": {
"notebook_task": {
"notebook_path": "/Users/someone@example.com/my-notebook"
}
},
"cluster_spec": {
"existing_cluster_id": "1201-my-cluster"
},
"cluster_instance": {
"cluster_id": "1201-my-cluster",
"spark_context_id": "1102398-spark-context-id"
},
"overriding_parameters": {
"jar_params": ["param1", "param2"]
},
"start_time": 1457570074236,
"setup_duration": 259754,
"execution_duration": 3589020,
"cleanup_duration": 31038,
"run_duration": 3879812,
"trigger": "PERIODIC"
},
"notebook_output": {
"result": "the maybe truncated string passed to dbutils.notebook.exit()"
}
}
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
執行中的標準標識碼。 對於具有多任務的工作,這是 run_id 工作執行的作業。 請參閱 執行取得輸出。 這是必要欄位。 |
回應結構
欄位名稱 | 類型 | 描述 |
---|---|---|
notebook_output 或 error |
NotebookOutput OR STRING |
如果notebook_output,則為筆記本工作的輸出,如果有的話。 未呼叫的筆記本工作終止 (成功或失敗)dbutils.notebook.exit() 會被視為有空的輸出。 將會設定此欄位,但其結果值將會是空的。如果發生錯誤,則為錯誤訊息,指出輸出無法使用的原因。 訊息為非結構化,且其確切格式可能會變更。 |
metadata |
執行 | 執行的所有詳細數據,但輸出除外。 |
執行刪除
端點 | HTTP 方法 |
---|---|
2.0/jobs/runs/delete |
POST |
刪除非使用中的執行。 如果執行為使用中,則傳回錯誤。
範例
curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'
將:
<databricks-instance>
使用 Azure Databricks 工作區實例名稱,例如adb-1234567890123456.7.azuredatabricks.net
。<run-id>
執行的識別碼, 例如123
。
此範例使用 .netrc 檔案。
要求結構
欄位名稱 | 類型 | 描述 |
---|---|---|
run_id |
INT64 |
要為其擷取元數據的執行標準標識碼。 |
數據結構
本節內容:
- ABFSS 儲存體 Info
- 自動調整
- AzureAttributes
- AzureAvailability
- ClusterInstance
- ClusterLogConf
- ClusterSpec
- ClusterTag
- CronSchedule
- Dbfs 儲存體 Info
- File 儲存體 Info
- InitScriptInfo
- 工作 (Job)
- JobEmailNotifications
- JobNotification 設定
- 作業 設定
- JobTask
- JobsHealthRule
- JobsHealthRules
- 程式庫
- MavenLibrary
- NewCluster
- NotebookOutput
- NotebookTask
- ParamPair
- PipelineTask
- PythonPyPiLibrary
- RCranLibrary
- 執行
- RunJobTask
- RunLifeCycleState
- RunParameters
- RunResultState
- RunState
- SparkConfPair
- SparkEnvPair
- SparkJarTask
- SparkPythonTask
- SparkSubmitTask
- TriggerType
- ViewItem
- ViewType
- ViewsToExport
- Webhook
- WebhookNotifications
- Workspace 儲存體 Info
ABFSS 儲存體 Info
Azure Data Lake 儲存體 (ADLS) 記憶體資訊。
欄位名稱 | 類型 | 描述 |
---|---|---|
destination |
STRING |
檔案目的地。 範例: abfss://... |
自動調整
定義叢集背景工作角色最小和最大數目的範圍。
欄位名稱 | 類型 | 描述 |
---|---|---|
min_workers |
INT32 |
叢集在使用量過低時可相應減少的最小背景工作角色數目。 這也是叢集在建立之後將擁有的初始背景工作角色數目。 |
max_workers |
INT32 |
叢集在多載時可以相應增加的背景工作角色數目上限。 max_workers必須嚴格大於 min_workers。 |
AzureAttributes
與 Azure 相關的叢集建立期間設定的屬性。
欄位名稱 | 類型 | 描述 |
---|---|---|
first_on_demand |
INT32 |
叢集的第一個 first_on_demand 節點將會放在隨選實例上。 此值必須大於 0,否則叢集建立驗證會失敗。 如果此值大於或等於目前的叢集大小,所有節點都會放在隨選實例上。 如果此值小於目前的叢集大小, first_on_demand 節點會依需求放置於實例上,而其餘的則會放在可用性實例上。 這個值不會影響叢集大小,而且無法在叢集的存留期內變動。 |
availability |
AzureAvailability | 所有後續節點都經過 first_on_demand 可用性類型。 |
spot_bid_max_price |
DOUBLE |
用於 Azure 現成實例的最大投標價格。 您可以將此值設定為大於或等於目前的現貨價格。 您也可以將此設定為 -1 (預設值),指定實例無法根據價格收回。 實例的價格將是現成實例的目前價格,或是標準實例的價格。 您可以在 Azure 入口網站 中檢視歷程記錄定價和收回費率。 |
AzureAvailability
Azure 實例可用性類型行為。
類型 | 描述 |
---|---|
SPOT_AZURE |
使用現成實例。 |
ON_DEMAND_AZURE |
使用隨選實例。 |
SPOT_WITH_FALLBACK_AZURE |
最好使用現成實例,但如果無法取得現成實例,請回復為隨選實例(例如,如果 Azure 現成價格太高或超出配額)。 不適用於集區可用性。 |
ClusterInstance
執行所使用的叢集和Spark內容的標識碼。 這兩個值一起識別所有時間的執行內容。
欄位名稱 | 類型 | 描述 |
---|---|---|
cluster_id |
STRING |
執行所使用的叢集標準標識碼。 此欄位一律可用於在現有的叢集上執行。 針對在新叢集上執行,建立叢集之後就會變成可用。 這個值可用來藉由流覽至 /#setting/sparkui/$cluster_id/driver-logs 來檢視記錄。 執行完成之後,記錄將會繼續可供使用。如果標識元尚無法使用,回應將不會包含此欄位。 |
spark_context_id |
STRING |
執行所使用的Spark內容標準標識碼。 執行開始執行之後,就會填入此欄位。 這個值可用來流覽至 /#setting/sparkui/$cluster_id/$spark_context_id 來檢視 Spark UI。 執行完成後,Spark UI 將繼續可供使用。如果標識元尚無法使用,回應將不會包含此欄位。 |
ClusterLogConf
叢集記錄檔的路徑。
欄位名稱 | 類型 | 描述 |
---|---|---|
dbfs |
Dbfs 儲存體 Info | 叢集記錄的 DBFS 位置。 必須提供目的地。 例如,{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } } |
ClusterSpec
重要
- 當您在新作業叢集上執行作業時,作業會被視為作業計算(自動化)工作負載,受限於作業計算定價。
- 當您在現有的所有用途叢集上執行作業時,它會被視為受所有用途計算定價約束的全用途計算(互動式)工作負載。
欄位名稱 | 類型 | 描述 |
---|---|---|
existing_cluster_id 或 new_cluster |
STRING OR NewCluster |
如果existing_cluster_id,將用於此作業所有執行的現有叢集標識符。 在現有叢集上執行作業時,如果叢集停止回應,您可能需要手動重新啟動叢集。 我們建議在新叢集上執行作業,以取得更高的可靠性。 如果new_cluster,將會針對每個執行建立的叢集描述。 如果指定 PipelineTask,則此字段可以是空的。 |
libraries |
連結庫的 陣列 | 要安裝在將執行作業之叢集上的選擇性連結庫清單。 預設值是空的清單。 |
ClusterTag
叢集標籤定義。
類型 | 描述 |
---|---|
STRING |
標記的索引鍵。 金鑰必須: * 長度介於 1 到 512 個字元之間 * 不包含任何字元 <>%*&+?\\/ * 不以 、 microsoft 或 開頭azure windows |
STRING |
標記的值。 值長度必須小於或等於 256 UTF-8 個字元。 |
CronSchedule
欄位名稱 | 類型 | 描述 |
---|---|---|
quartz_cron_expression |
STRING |
Cron 運算式,使用能描述作業排程的得克朗語法。 如需詳細資訊,請參閱 Cron 觸發程式 。 這是必要欄位。 |
timezone_id |
STRING |
Java 時區標識碼。 此時區將會解決作業的排程。 如需詳細資訊,請參閱 Java TimeZone 。 這是必要欄位。 |
pause_status |
STRING |
指出此排程是否已暫停。 “PAUSED” 或 “UNPAUSED”。 |
Dbfs 儲存體 Info
DBFS 記憶體資訊。
欄位名稱 | 類型 | 描述 |
---|---|---|
destination |
STRING |
DBFS 目的地。 範例: dbfs:/my/path |
File 儲存體 Info
檔案記憶體資訊。
注意
此位置類型僅適用於使用 Databricks Container Services 設定的叢集。
欄位名稱 | 類型 | 描述 |
---|---|---|
destination |
STRING |
檔案目的地。 範例: file:/my/file.sh |
InitScriptInfo
init 腳本的路徑。
如需搭配 Databricks Container Services 使用 init 腳本的指示,請參閱 使用 init 腳本。
注意
檔案儲存類型 (功能變數名稱: file
) 僅適用於使用 Databricks Container Services 設定的叢集。 請參閱 File 儲存體 Info。
欄位名稱 | 類型 | 描述 |
---|---|---|
workspace 或dbfs (已淘汰)OR abfss |
Workspace 儲存體 Info Dbfs 儲存體 Info (已淘汰) ABFSS 儲存體 Info |
init 腳本的工作區位置。 必須提供目的地。 例如,{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } } (已淘汰)init 腳本的 DBFS 位置。 必須提供目的地。 例如, { "dbfs" : { "destination" : "dbfs:/home/init_script" } } init 腳本的 Azure Data Lake 儲存體 (ADLS) 位置。 必須提供目的地。 例如, { "abfss": { "destination" : "abfss://..." } } |
工作
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
此作業的正式識別碼。 |
creator_user_name |
STRING |
建立者用戶名稱。 如果使用者已經刪除,此欄位將不會包含在回應中。 |
run_as |
STRING |
作業將執行身分的用戶名稱。 run_as 是以目前的作業設定為基礎,如果停用作業訪問控制,則會設定為作業的建立者,如果已啟用作業訪問控制, is_owner 則會設定為許可權。 |
settings |
作業 設定 | 設定 此作業及其所有執行。 您可以使用 方法來更新 resetJob 這些設定。 |
created_time |
INT64 |
建立此作業的時間,以 epoch 毫秒為單位(自 1/1/1970 UTC 起的毫秒數)。 |
JobEmailNotifications
重要
on_start、on_success和on_failure欄位只接受拉丁字元集(ASCII 字元集)。 使用非 ASCII 字元會傳回錯誤。 無效、非 ASCII 字元的範例包括中文、日文漢字和表情符號。
欄位名稱 | 類型 | 描述 |
---|---|---|
on_start |
的陣列 STRING |
執行開始時要通知的電子郵件地址清單。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 |
on_success |
的陣列 STRING |
執行成功完成時要通知的電子郵件地址清單。 如果執行以 和SUCCESSFUL result_state 結尾TERMINATED life_cycle_state ,則視為已順利完成。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 |
on_failure |
的陣列 STRING |
執行失敗時要通知的電子郵件地址清單。 如果執行以 結尾,則視為未成功完成 INTERNAL_ERROR life_cycle_state SKIPPED 或 、 FAILED 或 TIMED_OUT result_state。 如果未在作業建立、重設或更新時指定此清單是空的,而且不會傳送通知。 |
on_duration_warning_threshold_exceeded |
的陣列 STRING |
當執行持續時間超過欄位中計量RUN_DURATION_SECONDS health 所指定的閾值時,要通知的電子郵件地址清單。 如果未在health 作業的欄位中指定計量規則RUN_DURATION_SECONDS ,則不會傳送通知。 |
no_alert_for_skipped_runs |
BOOL |
如果為 true,則不會在略過執行時傳送電子郵件給 中指定的 on_failure 收件者。 |
欄位名稱 | 類型 | 描述 |
---|---|---|
on_start |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行開始時收到通知。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 屬性最多可以指定 on_start 3 個目的地。 |
on_success |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行成功完成時收到通知。 如果執行以 和SUCCESSFUL result_state 結尾TERMINATED life_cycle_state ,則視為已順利完成。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 屬性最多可以指定 on_success 3 個目的地。 |
on_failure |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行完成失敗時收到通知。 如果執行以 結尾,則視為未成功完成 INTERNAL_ERROR life_cycle_state SKIPPED 或 、 FAILED 或 TIMED_OUT result_state。 如果未在作業建立、重設或更新時指定此清單是空的,而且不會傳送通知。 屬性最多可以指定 on_failure 3 個目的地。 |
on_duration_warning_threshold_exceeded |
Webhook 的 陣列 | 當執行持續時間超過欄位中計量RUN_DURATION_SECONDS health 所指定的閾值時,要通知的系統目的地選擇性清單。 屬性最多可以指定 on_duration_warning_threshold_exceeded 3 個目的地。 |
JobNotification 設定
欄位名稱 | 類型 | 描述 |
---|---|---|
no_alert_for_skipped_runs |
BOOL |
如果為 true,則不會在略過執行時,將通知傳送給 中指定的 on_failure 收件者。 |
no_alert_for_canceled_runs |
BOOL |
如果為 true,則不會在取消執行時,將通知傳送給 中指定的 on_failure 收件者。 |
alert_on_last_attempt |
BOOL |
如果為 true,請勿將通知傳送給針對重試執行中指定的 on_start 收件者,而且在執行的最後一次重試之前,不要將通知傳送給中指定的 on_failure 收件者。 |
作業 設定
重要
- 當您在新作業叢集上執行作業時,作業會被視為作業計算(自動化)工作負載,受限於作業計算定價。
- 當您在現有的所有用途叢集上執行作業時,它會被視為受所有用途計算定價約束的全用途計算(互動式)工作負載。
作業 設定。 您可以使用 方法來更新 resetJob
這些設定。
欄位名稱 | 類型 | 描述 |
---|---|---|
existing_cluster_id 或 new_cluster |
STRING OR NewCluster |
如果existing_cluster_id,將用於此作業所有執行的現有叢集標識符。 在現有叢集上執行作業時,如果叢集停止回應,您可能需要手動重新啟動叢集。 我們建議在新叢集上執行作業,以取得更高的可靠性。 如果new_cluster,將會針對每個執行建立的叢集描述。 如果指定 PipelineTask,則此字段可以是空的。 |
notebook_task OR 或spark_jar_task spark_python_task OR 或spark_submit_task pipeline_task 或 run_job_task |
NotebookTask 或 SparkJarTask 或 SparkPythonTask 或 SparkSubmitTaskOR PipelineTask OR RunJobTask | 如果notebook_task,表示此作業應該執行筆記本。 此欄位可能不會與spark_jar_task一起指定。 如果spark_jar_task,表示此作業應該執行 JAR。 如果spark_python_task,表示此作業應該執行 Python 檔案。 如果spark_submit_task,表示 Spark 提交腳本應該啟動此作業。 如果pipeline_task,表示此作業應該執行 Delta Live Tables 管線。 如果run_job_task,表示此作業應該執行另一個作業。 |
name |
STRING |
作業的選擇性名稱。 預設值是 Untitled 。 |
libraries |
連結庫的 陣列 | 要安裝在將執行作業之叢集上的選擇性連結庫清單。 預設值是空的清單。 |
email_notifications |
JobEmailNotifications | 選擇性的一組電子郵件位址,會在執行此作業開始或完成時以及刪除此作業時收到通知。 默認行為是不要傳送任何電子郵件。 |
webhook_notifications |
WebhookNotifications | 選擇性的系統目的地集合,可在執行此作業時開始、完成或失敗時通知。 |
notification_settings |
JobNotification 設定 | 將通知傳送至每個 email_notifications 和 webhook_notifications 作業時所使用的選擇性通知設定。 |
timeout_seconds |
INT32 |
套用至此作業每個執行的選擇性逾時。 默認行為是沒有逾時。 |
max_retries |
INT32 |
選擇性的重試失敗執行次數上限。 如果執行與 result_state 完成 FAILED ,則視為失敗INTERNAL_ERROR life_cycle_state . 值 -1 表示無限期重試,而值 0 表示永遠不會重試。 默認行為是永不重試。 |
min_retry_interval_millis |
INT32 |
嘗試之間以毫秒為單位的選擇性最小間隔。 默認行為是立即重試失敗的執行。 |
retry_on_timeout |
BOOL |
選擇性原則,指定是否要在作業逾時時重試作業。默認行為是不要在逾時時重試。 |
schedule |
CronSchedule | 此作業的選擇性定期排程。 默認行為是作業只有在按兩下 [作業 UI] 中的 [立即執行] 或傳送 API 要求來觸發時,才會執行作業runNow . |
max_concurrent_runs |
INT32 |
作業並行執行數目的選擇性上限。 如果您想要能夠同時執行相同作業的多個執行,請設定此值。 例如,如果您以頻繁的排程觸發作業,並且想要允許連續執行彼此重疊,或如果您想要觸發因輸入參數而異的多個執行,這非常有用。 此設定只會影響新的執行。 例如,假設作業的並行存取是 4,而且有 4 個並行作用中執行。 然後將並行設定為 3 不會終止任何作用中的執行。 不過,從那時起,除非有少於 3 個作用中的執行,否則會略過新的執行。 此值不能超過 1000。 將此值設定為 0 會導致略過所有新的執行。 默認行為是只允許 1 個並行執行。 |
health |
JobsHealthRules | 為作業定義的一組選擇性健康情況規則。 |
JobTask
欄位名稱 | 類型 | 描述 |
---|---|---|
notebook_task OR 或spark_jar_task spark_python_task OR 或spark_submit_task pipeline_task 或 run_job_task |
NotebookTask 或 SparkJarTask 或 SparkPythonTask 或 SparkSubmitTaskOR PipelineTask OR RunJobTask | 如果notebook_task,表示此作業應該執行筆記本。 此欄位可能不會與spark_jar_task一起指定。 如果spark_jar_task,表示此作業應該執行 JAR。 如果spark_python_task,表示此作業應該執行 Python 檔案。 如果spark_submit_task,表示 Spark 提交腳本應該啟動此作業。 如果pipeline_task,表示此作業應該執行 Delta Live Tables 管線。 如果run_job_task,表示此作業應該執行另一個作業。 |
JobsHealthRule
欄位名稱 | 類型 | 描述 |
---|---|---|
metric |
STRING |
指定正在針對特定健康狀態規則評估的健康情況計量。 有效值為 RUN_DURATION_SECONDS 。 |
operator |
STRING |
指定用來比較健康情況計量值的運算子與指定的臨界值。 有效值為 GREATER_THAN 。 |
value |
INT32 |
指定健康情況計量應符合以符合健康狀態規則的臨界值。 |
JobsHealthRules
欄位名稱 | 類型 | 描述 |
---|---|---|
rules |
JobsHealthRule 的 陣列 | 一組可針對作業定義的選擇性健康狀態規則。 |
圖書館
欄位名稱 | 類型 | 描述 |
---|---|---|
jar 或或或 egg 或whl pypi OR 或maven cran |
STRING 或 STRING 或 或 PythonPyPiLibrarySTRING 或 MavenLibrary 或 RCranLibrary |
如果 jar,則為要安裝的 JAR URI。 支援 DBFS 和 ADLS (abfss ) URI。 例如: { "jar": "dbfs:/mnt/databricks/library.jar" } 或{ "jar": "abfss://<container-path>/library.jar" } . 如果使用ADLS,請確定叢集具有連結庫的讀取許可權。如果蛋,則為要安裝的雞蛋 URI。 支援 DBFS 和 ADLS URI。 例如: { "egg": "dbfs:/my/egg" } 或{ "egg": "abfss://<container-path>/egg" } .如果 whl,則會安裝 或 壓縮 wheels 的 URIwheel 。 支援 DBFS 和 ADLS URI。 例如: { "whl": "dbfs:/my/whl" } 或{ "whl": "abfss://<container-path>/whl" } . 如果使用ADLS,請確定叢集具有連結庫的讀取許可權。 此外, wheel 檔名也需要使用 正確的慣例。 如果要安裝 ziped wheels ,檔案名後綴應該是 .wheelhouse.zip 。如果 pypi,則為要安裝的 PyPI 連結庫規格。 指定 repo 欄位是選擇性的,如果未指定,則會使用預設 pip 索引。 例如:{ "package": "simplejson", "repo": "https://my-repo.com" } 如果 maven,則為要安裝的 Maven 連結庫規格。 例如: { "coordinates": "org.jsoup:jsoup:1.7.2" } 如果cran,則為要安裝的CRAN連結庫規格。 |
MavenLibrary
欄位名稱 | 類型 | 描述 |
---|---|---|
coordinates |
STRING |
Gradle 樣式的 Maven 座標。 例如: org.jsoup:jsoup:1.7.2 。 這是必要欄位。 |
repo |
STRING |
Maven 存放庫以安裝 Maven 套件的來源。 如果省略,則會搜尋 Maven 中央存放庫和 Spark 套件。 |
exclusions |
的陣列 STRING |
要排除的相依性清單。 例如: ["slf4j:slf4j", "*:hadoop-client"] 。Maven 相依性排除專案: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html。 |
NewCluster
欄位名稱 | 類型 | 描述 |
---|---|---|
num_workers 或 autoscale |
INT32 OR 自動調整 |
如果num_workers,此叢集應該擁有的背景工作節點數目。 叢集有一個 Spark 驅動程式和num_workers執行程式,總共num_workers + 1 個 Spark 節點。 注意:讀取叢集的屬性時,此欄位會反映所需的背景工作角色數目,而不是實際目前的背景工作角色數目。 例如,如果叢集從5個背景工作角色調整為10個背景工作角色,則此欄位會立即更新,以反映10個背景工作角色的目標大小,而列於spark_info中的背景工作角色會隨著布建新節點逐漸從5增加到10。 如果自動調整,則需要參數,才能根據負載自動相應增加和減少叢集。 |
spark_version |
STRING |
叢集的Spark版本。 您可以使用 GET 2.0/clusters/spark-versions 呼叫來擷取 可用的 Spark 版本 清單。 這是必要欄位。 |
spark_conf |
SparkConfPair | 物件,包含一組選擇性、使用者指定的Spark組態索引鍵/值組。 您也可以透過 將額外的 JVM 選項字串傳入驅動程式和執行程式spark.driver.extraJavaOptions 分別和 spark.executor.extraJavaOptions 。範例 Spark 會提供: {"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} 或{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"} |
node_type_id |
STRING |
此欄位會透過單一值來編碼此叢集中每個 Spark 節點可用的資源。 例如,可以使用 GET 2.0/clusters/list-node-types 呼叫來擷取可用的節點類型清單,以布建和優化記憶體或計算密集型工作負載。 需要此欄位、 instance_pool_id 欄位或指定節點類型標識碼或實例集區標識碼的叢集原則。 |
driver_node_type_id |
STRING |
Spark 驅動程式的節點類型。 此欄位是選擇性的;如果未設定,驅動程式節點類型會設定為與上面定義的相同值 node_type_id 。 |
custom_tags |
ClusterTag | 物件,包含叢集資源的一組標記。 除了default_tags之外,Databricks 會標記所有叢集資源(例如 VM)與這些標籤。 注意: * 舊版節點類型不支援標記,例如計算優化和記憶體優化 * Databricks 最多允許 45 個自定義標籤 |
cluster_log_conf |
ClusterLogConf | 將 Spark 記錄傳遞至長期記憶體目的地的設定。 一個叢集只能指定一個目的地。 如果已提供 conf,則每個 5 mins 都會將記錄傳遞至目的地。 驅動程式記錄的目的地為 <destination>/<cluster-id>/driver ,而執行程式記錄的目的地為 <destination>/<cluster-id>/executor 。 |
init_scripts |
InitScriptInfo 的 陣列 | 儲存 init 腳本的組態。 您可以指定任意數目的文稿。 腳本會依提供的順序循序執行。 如果 cluster_log_conf 已指定,則會將init腳本記錄傳送至<destination>/<cluster-id>/init_scripts . |
spark_env_vars |
SparkEnvPair | 物件,包含一組選擇性、使用者指定的環境變數索引鍵/值組。 表單的索引鍵/值組 (X,Y) 會匯出為 [亦即]export X='Y' )啟動司機和工人時。若要指定一組 SPARK_DAEMON_JAVA_OPTS 額外的 ,建議您將它們附加至 , $SPARK_DAEMON_JAVA_OPTS 如下列範例所示。 這可確保也包含所有預設 Databricks Managed 環境變數。Spark 環境變數範例: {"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} 或{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"} |
enable_elastic_disk |
BOOL |
自動調整本機 儲存體:啟用時,當 Spark 背景工作角色在磁碟空間不足時,此叢集會動態取得額外的磁碟空間。 如需 詳細資訊,請參閱啟用自動調整本機記憶體 。 |
driver_instance_pool_id |
STRING |
要用於驅動程序節點之實例集區的選擇性識別碼。 您必須指定 instance_pool_id 。 如需詳細資訊,請參閱實例集 區 API 。 |
instance_pool_id |
STRING |
要用於叢集節點之實例集區的選擇性標識碼。 如果 driver_instance_pool_id 存在,則instance_pool_id 僅用於背景工作節點。 否則,它會同時用於驅動程序節點和背景工作角色節點。 如需詳細資訊,請參閱實例集 區 API 。 |
NotebookOutput
欄位名稱 | 類型 | 描述 |
---|---|---|
result |
STRING |
傳遞至 dbutils.notebook.exit()的值。 Azure Databricks 會限制此 API 傳回值的前 1 MB。 針對較大的結果,您的作業可以將結果儲存在雲端記憶體服務中。 如果 dbutils.notebook.exit() 從未呼叫,此欄位將會不存在。 |
truncated |
BOOLEAN |
是否截斷結果。 |
NotebookTask
所有輸出數據格的大小都會受限於8MB的大小。 如果儲存格的輸出大小較大,則會取消其餘的執行,且執行將會標示為失敗。 在此情況下,可能也會遺漏其他儲存格的某些內容輸出。
如果您需要尋找超出限制的儲存格的協助,請針對所有用途的叢集執行筆記本,並使用此 筆記本自動儲存技術。
欄位名稱 | 類型 | 描述 |
---|---|---|
notebook_path |
STRING |
要在 Azure Databricks 工作區中執行的筆記本絕對路徑。 此路徑的開頭必須是斜線。 這是必要欄位。 |
revision_timestamp |
LONG |
筆記本修訂的時間戳。 |
base_parameters |
ParamPair 地圖 | 要用於此作業每個回合的基底參數。 如果執行是由具有指定之參數的 run-now 呼叫所起始,則會合併兩個參數對應。 如果在 和 中base_parameters run-now 指定了相同的索引鍵,則會使用 來自 run-now 的值。使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 如果筆記本採用作業或 base_parameters run-now 覆寫參數中未指定的參數,則會使用筆記本中的預設值。使用 dbutils.widgets.get 在筆記本中擷取這些參數。 |
ParamPair
執行筆記本工作之作業的名稱型參數。
重要
此數據結構中的欄位只接受拉丁字元 (ASCII 字元集)。 使用非 ASCII 字元會傳回錯誤。 無效、非 ASCII 字元的範例包括中文、日文漢字和表情符號。
類型 | 描述 |
---|---|
STRING |
參數名稱。 傳遞至 dbutils.widgets.get 以擷取值。 |
STRING |
參數值。 |
PipelineTask
欄位名稱 | 類型 | 描述 |
---|---|---|
pipeline_id |
STRING |
要執行之 Delta Live Tables 管線工作的完整名稱。 |
PythonPyPiLibrary
欄位名稱 | 類型 | 描述 |
---|---|---|
package |
STRING |
要安裝的 PyPI 套件名稱。 也支援選擇性的確切版本規格。 範例:simplejson 和 simplejson==3.8.0 。 這是必要欄位。 |
repo |
STRING |
可以找到套件的存放庫。 如果未指定,則會使用預設 pip 索引。 |
RCranLibrary
欄位名稱 | 類型 | 描述 |
---|---|---|
package |
STRING |
要安裝的CRAN套件名稱。 這是必要欄位。 |
repo |
STRING |
可以找到套件的存放庫。 如果未指定,則會使用預設的CRAN存放庫。 |
運行
執行的相關信息,除了其輸出之外。 您可以使用 方法個別 getRunOutput
擷取輸出。
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT64 |
包含此回合之作業的正式識別碼。 |
run_id |
INT64 |
執行的主要識別碼。 此標識碼在所有作業的所有執行中都是唯一的。 |
creator_user_name |
STRING |
建立者用戶名稱。 如果使用者已經刪除,此欄位將不會包含在回應中。 |
number_in_job |
INT64 |
此執行在作業的所有回合中執行的序號。 此值從 1 開始。 |
original_attempt_run_id |
INT64 |
如果此執行是先前執行嘗試的重試,此欄位會包含原始嘗試的run_id;否則,它與run_id相同。 |
state |
RunState | 執行的結果和生命周期狀態。 |
schedule |
CronSchedule | 如果定期排程器觸發此排程,就會觸發此執行的cron排程。 |
task |
JobTask | 執行所執行的工作,如果有的話。 |
cluster_spec |
ClusterSpec | 建立此執行時作業叢集規格的快照集。 |
cluster_instance |
ClusterInstance | 用於此執行的叢集。 如果指定執行以使用新的叢集,則一旦作業服務要求執行叢集,就會設定此字段。 |
overriding_parameters |
RunParameters | 用於此執行的參數。 |
start_time |
INT64 |
此執行開始的時間以 epoch 毫秒為單位(自 1/1/1970 UTC 起的毫秒數)。 這可能不是作業工作開始執行的時間,例如,如果作業排定在新叢集上執行,這就是叢集建立呼叫發出的時間。 |
setup_duration |
INT64 |
以毫秒為單位設定叢集所需的時間。 對於在新叢集上執行的執行,這是叢集建立時間,對於這次在現有叢集上執行的執行應該很短。 |
execution_duration |
INT64 |
執行 JAR 或筆記本中命令所花費的時間,以毫秒為單位,直到它們完成、失敗、逾時、已取消,或發生未預期的錯誤。 |
cleanup_duration |
INT64 |
終止叢集並清除任何相關聯的成品所花費的時間以毫秒為單位。 執行的總持續時間是setup_duration、execution_duration和cleanup_duration的總和。 |
end_time |
INT64 |
此回合以 epoch 毫秒結束的時間(自 1/1/1970 UTC 起的毫秒)。 如果作業仍在執行中,此欄位將會設定為 0。 |
trigger |
TriggerType | 引發此回合的觸發程序類型。 |
run_name |
STRING |
執行的選擇性名稱。 預設值是 Untitled 。 允許的最大長度是UTF-8編碼中的4096個字節。 |
run_page_url |
STRING |
執行詳細數據頁面的 URL。 |
run_type |
STRING |
執行的類型。 * JOB_RUN - 正常作業執行。 使用 [立即執行] 建立的執行。* WORKFLOW_RUN - 工作流程執行。 使用 dbutils.notebook.run 建立的回合。* SUBMIT_RUN - 提交執行。 使用 [立即執行] 建立的執行。 |
attempt_number |
INT32 |
觸發作業執行的此執行嘗試序號。 執行的初始嘗試attempt_number為 0。 如果初始執行嘗試失敗,且作業有重試原則 (max_retries > 0),則會使用 original_attempt_run_id 原始嘗試標識碼和遞 attempt_number 增 的 來建立後續執行。 執行只會重試,直到成功為止,最大值 attempt_number 與作業的值相同 max_retries 。 |
RunJobTask
欄位名稱 | 類型 | 描述 |
---|---|---|
job_id |
INT32 |
要執行之作業的唯一標識符。 這是必要欄位。 |
RunLifeCycleState
執行的生命周期狀態。 允許的狀態轉換如下:
PENDING
- ->RUNNING
->TERMINATING
->TERMINATED
PENDING
->SKIPPED
PENDING
->INTERNAL_ERROR
RUNNING
->INTERNAL_ERROR
TERMINATING
->INTERNAL_ERROR
State | 描述 |
---|---|
PENDING |
已觸發執行。 如果尚未執行相同的作業,叢集和執行內容就會備妥。 如果已經有相同作業的作用中執行,則執行會立即轉換為 SKIPPED 狀態,而不需要準備任何資源。 |
RUNNING |
正在執行此執行的工作。 |
TERMINATING |
此執行的工作已完成,而且正在清除叢集和執行內容。 |
TERMINATED |
此執行的工作已完成,且已清除叢集和執行內容。 此狀態為終端機。 |
SKIPPED |
此執行已中止,因為先前的相同作業執行已作用中。 此狀態為終端機。 |
INTERNAL_ERROR |
指出作業服務失敗的例外狀態,例如長時間的網路失敗。 如果在新的叢集上執行 ,狀態會結束 INTERNAL_ERROR ,則作業服務會儘快終止叢集。 此狀態為終端機。 |
RunParameters
此執行的參數。 根據作業工作的類型,在要求中run-now
只能指定jar_params、python_params
或notebook_params之一。
使用Spark JAR工作或 Python 工作的作業會取得位置型參數清單,而具有筆記本工作的工作會採用索引鍵值對應。
欄位名稱 | 類型 | 描述 |
---|---|---|
jar_params |
的陣列 STRING |
Spark JAR 工作之作業的參數清單,例如 "jar_params": ["john doe", "35"] 。 參數將用來叫用 Spark JAR 工作中指定之 main 類別的 main 函式。 如果未在 上 run-now 指定 ,則會預設為空白清單。 無法搭配notebook_params指定jar_params。 此欄位的 JSON 表示法(亦即 {"jar_params":["john doe","35"]} ) 不能超過 10,000 個字節。使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 |
notebook_params |
ParamPair 地圖 | 從索引鍵對應至具有筆記本工作之作業的值,例如"notebook_params": {"name": "john doe", "age": "35"} . 對應會傳遞至筆記本,並可透過 dbutils.widgets.get 函式存取。如果未在 上 run-now 指定,則觸發的執行會使用作業的基底參數。無法搭配jar_params指定notebook_params。 使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 此欄位的 JSON 表示法(亦即 {"notebook_params":{"name":"john doe","age":"35"}} 不能超過 10,000 個字節。 |
python_params |
的陣列 STRING |
具有 Python 工作之作業的參數清單,例如 "python_params": ["john doe", "35"] 。 參數會以命令行參數的形式傳遞至 Python 檔案。 如果在 上 run-now 指定 ,則會覆寫作業設定中指定的參數。 此欄位的 JSON 表示法(亦即 {"python_params":["john doe","35"]} ) 不能超過 10,000 個字節。使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 > [!重要] >> 這些參數只接受拉丁字元 (ASCII 字元集)。 > 使用非 ASCII 字元會傳回錯誤。 無效、非 ASCII 字元 > 的範例包括中文、日文漢字和表情符號。 |
spark_submit_params |
的陣列 STRING |
具有Spark提交工作的作業參數清單,例如"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"] . 參數會以命令行參數的形式傳遞至spark-submit腳本。 如果在 上 run-now 指定 ,則會覆寫作業設定中指定的參數。 此欄位的 JSON 表示法(亦即 {"python_params":["john doe","35"]} ) 不能超過 10,000 個字節。使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 > [!重要] >> 這些參數只接受拉丁字元 (ASCII 字元集)。 > 使用非 ASCII 字元會傳回錯誤。 無效、非 ASCII 字元 > 的範例包括中文、日文漢字和表情符號。 |
RunResultState
執行的結果狀態。
- 如果
life_cycle_state
=TERMINATED
:如果執行有工作,則結果保證可供使用,並指出工作的結果。 - 如果
life_cycle_state
=PENDING
為、RUNNING
或SKIPPED
,則結果狀態無法使用。 - 如果
life_cycle_state
=TERMINATING
或 lifecyclestate =INTERNAL_ERROR
:如果執行有工作並設法啟動結果狀態,則結果狀態是可用的。
一旦可用,結果狀態永遠不會變更。
State | 描述 |
---|---|
SUCCESS |
工作已順利完成。 |
FAILED |
工作已完成,並出現錯誤。 |
TIMEDOUT |
到達逾時之後,執行已停止。 |
CANCELED |
執行已於使用者要求取消。 |
RunState
欄位名稱 | 類型 | 描述 |
---|---|---|
life_cycle_state |
RunLifeCycleState | 執行生命週期中執行目前位置的描述。 回應中一律會提供此欄位。 |
result_state |
RunResultState | 執行的結果狀態。 如果無法使用,回應將不會包含此欄位。 如需result_state可用性的詳細資訊,請參閱 RunResultState 。 |
user_cancelled_or_timedout |
BOOLEAN |
使用者或排程器是否已手動取消執行,因為執行逾時。 |
state_message |
STRING |
目前狀態的描述性訊息。 此欄位為非結構化欄位,且其確切格式可能會變更。 |
SparkConfPair
Spark 組態索引鍵/值組。
類型 | 描述 |
---|---|
STRING |
組態屬性名稱。 |
STRING |
組態屬性值。 |
SparkEnvPair
Spark 環境變數索引鍵/值組。
重要
在作業叢集中指定環境變數時,此數據結構中的欄位只接受拉丁字元(ASCII 字元集)。 使用非 ASCII 字元會傳回錯誤。 無效、非 ASCII 字元的範例包括中文、日文漢字和表情符號。
類型 | 描述 |
---|---|
STRING |
環境變數名稱。 |
STRING |
環境變數值。 |
SparkJarTask
欄位名稱 | 類型 | 描述 |
---|---|---|
jar_uri |
STRING |
自 2016/04 起已被取代。 jar 請改為透過 libraries 欄位提供 。 如需範例,請參閱 建立。 |
main_class_name |
STRING |
類別的完整名稱,其中包含要執行的主要方法。 這個類別必須包含在提供做為連結庫的 JAR 中。 程式代碼應該使用 SparkContext.getOrCreate 來取得Spark內容,否則作業的執行將會失敗。 |
parameters |
的陣列 STRING |
傳遞至 main 方法的參數。 使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 |
SparkPythonTask
欄位名稱 | 類型 | 描述 |
---|---|---|
python_file |
STRING |
要執行的 Python 檔案 URI。 支援 DBFS 路徑。 這是必要欄位。 |
parameters |
的陣列 STRING |
傳遞至 Python 檔案的命令行參數。 使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 |
SparkSubmitTask
重要
- 您只能在新的叢集上叫用 Spark 提交工作。
- 在 new_cluster 規格中,
libraries
不支援 和spark_conf
。 請改用--jars
和--py-files
來新增 Java 和 Python 連結庫,並--conf
設定 Spark 組態。 master
、deploy-mode
和executor-cores
是由 Azure Databricks 自動設定;您無法在參數中指定它們。- 根據預設,Spark 提交作業會使用所有可用的記憶體(不包括 Azure Databricks 服務的保留記憶體)。 您可以將 和
--executor-memory
設定--driver-memory
為較小的值,以保留部分空間供非堆積使用。 - 、
--jars
--py-files
--files
自變數支援 DBFS 路徑。
例如,假設 JAR 上傳至 DBFS,您可以藉由設定下列參數來執行 SparkPi
。
{
"parameters": [
"--class",
"org.apache.spark.examples.SparkPi",
"dbfs:/path/to/examples.jar",
"10"
]
}
欄位名稱 | 類型 | 描述 |
---|---|---|
parameters |
的陣列 STRING |
傳遞至spark提交的命令行參數。 使用 將作業內容傳遞至作業工作 ,以設定包含作業執行相關信息的參數。 |
TriggerType
這些是可以引發執行的觸發程序類型。
類型 | 描述 |
---|---|
PERIODIC |
定期觸發執行的排程,例如cron排程器。 |
ONE_TIME |
引發單一執行的一次觸發程式。 如此一來,您就會透過UI或 API 依需求觸發單一執行。 |
RETRY |
指出在先前失敗執行時觸發的執行。 當您要求在發生失敗時重新執行作業時,就會發生這種情況。 |
ViewItem
匯出的內容為 HTML 格式。 例如,如果要導出的檢視是儀錶板,則會針對每個儀錶板傳回一個 HTML 字串。
欄位名稱 | 類型 | 描述 |
---|---|---|
content |
STRING |
檢視的內容。 |
name |
STRING |
檢視項目的名稱。 在程式代碼檢視的情況下,筆記本的名稱。 在儀錶板檢視的情況下,儀錶板的名稱。 |
type |
ViewType | 檢視項目的類型。 |
ViewType
類型 | 描述 |
---|---|
NOTEBOOK |
筆記本檢視專案。 |
DASHBOARD |
儀錶板檢視專案。 |
ViewsToExport
要導出的檢視:程序代碼、所有儀錶板或全部。
類型 | 描述 |
---|---|
CODE |
筆記本的程式代碼檢視。 |
DASHBOARDS |
筆記本的所有儀表板檢視。 |
ALL |
筆記本的所有檢視。 |
Webhook
欄位名稱 | 類型 | 描述 |
---|---|---|
id |
STRING |
參考系統通知目的地的標識碼。 這是必要欄位。 |
WebhookNotifications
欄位名稱 | 類型 | 描述 |
---|---|---|
on_start |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行開始時收到通知。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 屬性最多可以指定 on_start 3 個目的地。 |
on_success |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行成功完成時收到通知。 如果執行以 和SUCCESSFUL result_state 結尾TERMINATED life_cycle_state ,則視為已順利完成。 如果未在作業建立、重設或更新上指定,清單會是空的,而且不會傳送通知。 屬性最多可以指定 on_success 3 個目的地。 |
on_failure |
Webhook 的 陣列 | 選擇性的系統目的地清單,可在執行完成失敗時收到通知。 如果執行以 結尾,則視為未成功完成 INTERNAL_ERROR life_cycle_state SKIPPED 或 、 FAILED 或 TIMED_OUT result_state 。 如果未在作業建立、重設或更新時指定此清單是空的,而且不會傳送通知。 屬性最多可以指定 on_failure 3 個目的地。 |
on_duration_warning_threshold_exceeded |
Webhook 的 陣列 | 當執行持續時間超過欄位中計量RUN_DURATION_SECONDS health 所指定的閾值時,要通知的系統目的地選擇性清單。 屬性最多可以指定 on_duration_warning_threshold_exceeded 3 個目的地。 |
Workspace 儲存體 Info
工作區記憶體資訊。
欄位名稱 | 類型 | 描述 |
---|---|---|
destination |
STRING |
檔案目的地。 範例: /Users/someone@domain.com/init_script.sh |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應