Jobb-API 2.0

Med JOBB-API:et kan du skapa, redigera och ta bort jobb. Den maximala tillåtna storleken för en begäran till jobb-API:et är 10 MB. Mer information om det här API:et finns i Skapa ett kluster med hög samtidighet .

Mer information om uppdateringar av jobb-API:et som stöder orkestrering av flera uppgifter med Azure Databricks-jobb finns i Jobb-API-uppdateringar.

Varning

Du bör aldrig hårdkoda hemligheter eller lagra dem i oformaterad text. Använd Secrets API 2.0 för att hantera hemligheter i Databricks CLI. Använd verktyget Hemligheter (dbutils.secrets) för att referera till hemligheter i notebook-filer och jobb.

Anteckning

Om du får ett 500-nivåfel när du gör jobb-API-begäranden rekommenderar Databricks att du försöker igen i upp till 10 min (med minst 30 sekunders intervall mellan återförsök).

Viktigt

För att få åtkomst till Databricks REST API:er måste du autentisera.

Skapa

Slutpunkt HTTP-metod
2.0/jobs/create POST

Skapa ett nytt jobb.

Exempel

Det här exemplet skapar ett jobb som kör en JAR-aktivitet kl. 22:15 varje natt.

Förfrågan

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"
  }
}

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • Innehållet i create-job.json med fält som är lämpliga för din lösning.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "job_id": 1
}

Begärandestruktur

Viktigt

  • När du kör ett jobb i ett nytt jobbkluster behandlas jobbet som en jobbberäkningsarbetsbelastning (automatiserad) som omfattas av prissättningen för jobbberäkning.
  • När du kör ett jobb i ett befintligt kluster för alla syften behandlas det som en All-Purpose beräkningsarbetsbelastning (interaktiv) som omfattas av All-Purpose Beräkningspriser.
Fältnamn Typ Description
existing_cluster_id ELLER new_cluster STRING ELLER NewCluster Om existing_cluster_id används ID:t för ett befintligt kluster för alla körningar av det här jobbet. När du kör jobb i ett befintligt kluster kan du behöva starta om klustret manuellt om det slutar svara. Vi föreslår att du kör jobb i nya kluster för bättre tillförlitlighet.

Om new_cluster en beskrivning av ett kluster som skapas för varje körning.

Om du anger en PipelineTask kan det här fältet vara tomt.
notebook_task ELLER spark_jar_task ELLER spark_python_task ELLER spark_submit_task ELLER pipeline_task NotebookTask ELLER SparkJarTask ELLER SparkPythonTask ELLER SparkSubmitTask ELLER PipelineTask Om notebook_task anger att det här jobbet ska köra en notebook-fil. Det här fältet kanske inte anges tillsammans med spark_jar_task.

Om spark_jar_task anger att det här jobbet ska köra en JAR.

Om spark_python_task anger att det här jobbet ska köra en Python-fil.

Om spark_submit_task anger att det här jobbet ska startas av spark-sändningsskriptet.

Om pipeline_task anger att det här jobbet ska köra en Delta Live Tables-pipeline.
name STRING Ett valfritt namn för jobbet. Standardvärdet är Untitled.
bibliotek En matris med bibliotek En valfri lista över bibliotek som ska installeras i klustret som ska köra jobbet. Standardvärdet är en tom lista.
email_notifications JobEmailNotifications En valfri uppsättning e-postadresser som meddelas när körningen av det här jobbet börjar och slutförs och när det här jobbet tas bort. Standardbeteendet är att inte skicka några e-postmeddelanden.
timeout_seconds INT32 En valfri tidsgräns som tillämpas på varje körning av det här jobbet. Standardbeteendet är att inte ha någon tidsgräns.
max_retries INT32 Ett valfritt maximalt antal gånger för att försöka köra en misslyckad körning igen. En körning anses vara misslyckad om den FAILED slutförs med result_state eller
INTERNAL_ERROR
life_cycle_state. Värdet -1 innebär att återförsök på obestämd tid och värdet 0 innebär att aldrig försöka igen. Standardbeteendet är att aldrig försöka igen.
min_retry_interval_millis INT32 Ett valfritt minimalt intervall i millisekunder mellan starten av den misslyckade körningen och den efterföljande återförsökskörningen. Standardbeteendet är att misslyckade körningar omedelbart görs om.
retry_on_timeout BOOL En valfri princip för att ange om ett jobb ska försöka igen när tidsgränsen uppnås. Standardbeteendet är att inte försöka igen vid tidsgränsen.
schedule CronSchedule Ett valfritt periodiskt schema för det här jobbet. Standardbeteendet är att jobbet körs när det utlöses genom att klicka på Kör nu i jobbgränssnittet eller skicka en API-begäran till runNow.
max_concurrent_runs INT32 Ett valfritt högsta tillåtna antal samtidiga körningar av jobbet.

Ange det här värdet om du vill kunna köra flera körningar av samma jobb samtidigt. Det här är till exempel användbart om du utlöser jobbet enligt ett vanligt schema och vill tillåta att efterföljande körningar överlappar varandra, eller om du vill utlösa flera körningar som skiljer sig från deras indataparametrar.

Den här inställningen påverkar endast nya körningar. Anta till exempel att jobbets samtidighet är 4 och att det finns 4 samtidiga aktiva körningar. Om du sedan ställer in samtidigheten på 3 kommer inte någon av de aktiva körningarna att dödas. Men från och med då hoppas nya körningar över om det inte finns färre än 3 aktiva körningar.

Det här värdet får inte överstiga 1 000. Om du ställer in det här värdet på 0 hoppas alla nya körningar över. Standardbeteendet är att endast tillåta 1 samtidig körning.

Svarsstruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för det nyligen skapade jobbet.

Lista

Slutpunkt HTTP-metod
2.0/jobs/list GET

Visa en lista över alla jobb.

Exempel

Förfrågan

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

Ersätt <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "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
    }
  ]
}

Svarsstruktur

Fältnamn Typ Description
Jobb En matris med jobb Listan över jobb.

Ta bort

Slutpunkt HTTP-metod
2.0/jobs/delete POST

Ta bort ett jobb och skicka ett e-postmeddelande till de adresser som anges i JobSettings.email_notifications. Ingen åtgärd inträffar om jobbet redan har tagits bort. När jobbet har tagits bort visas varken dess information eller dess körningshistorik i jobbgränssnittet eller API:et. Jobbet kommer garanterat att tas bort när den här begäran har slutförts. Körningar som var aktiva innan den här begäran togs emot kan dock fortfarande vara aktiva. De avslutas asynkront.

Exempel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> med jobbets ID, till exempel 123.

I det här exemplet används en .netrc-fil .

Begärandestruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som ska tas bort. Det här fältet är obligatoriskt.

Slutpunkt HTTP-metod
2.0/jobs/get GET

Hämta information om ett enda jobb.

Exempel

Förfrågan

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

Eller:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> med jobbets ID, till exempel 123.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "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
}

Begärandestruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som du vill hämta information om. Det här fältet är obligatoriskt.

Svarsstruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för det här jobbet.
creator_user_name STRING Skaparens användarnamn. Det här fältet tas inte med i svaret om användaren har tagits bort.
inställningar JobSettings Inställningar för det här jobbet och alla dess körningar. De här inställningarna kan uppdateras med hjälp av slutpunkterna Återställ eller Uppdatera .
created_time INT64 Den tid då det här jobbet skapades i epoker millisekunder (millisekunder sedan 1/1/1970 UTC).

Återställa

Slutpunkt HTTP-metod
2.0/jobs/reset POST

Skriv över alla inställningar för ett visst jobb. Använd uppdateringsslutpunkten för att delvis uppdatera jobbinställningarna.

Exempel

Den här exempelbegäran gör jobb 2 identiskt med jobb 1 i exemplet skapa .

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"
    }
  }
}

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • Innehållet i reset-job.json med fält som är lämpliga för din lösning.

I det här exemplet används en .netrc-fil och jq.

Begärandestruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som ska återställas. Det här fältet är obligatoriskt.
new_settings JobSettings De nya inställningarna för jobbet. De här inställningarna ersätter helt de gamla inställningarna.

Ändringar i fältet JobSettings.timeout_seconds tillämpas på aktiva körningar. Ändringar i andra fält tillämpas endast på framtida körningar.

Uppdatering

Slutpunkt HTTP-metod
2.0/jobs/update POST

Lägg till, ändra eller ta bort specifika inställningar för ett befintligt jobb. Använd återställningsslutpunkten för att skriva över alla jobbinställningar.

Exempel

Den här exempelbegäran tar bort bibliotek och lägger till e-postaviseringsinställningar i jobb 1 som definierats i exemplet skapa .

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"]
}

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • Innehållet i update-job.json med fält som är lämpliga för din lösning.

I det här exemplet används en .netrc-fil och jq.

Begärandestruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som ska uppdateras. Det här fältet är obligatoriskt.
new_settings JobSettings De nya inställningarna för jobbet. Alla fält på den översta nivån som anges i new_settings ersätts helt. Det går inte att uppdatera kapslade fält delvis.

Ändringar i fältet JobSettings.timeout_seconds tillämpas på aktiva körningar. Ändringar i andra fält tillämpas endast på framtida körningar.
fields_to_remove En matris med STRING Ta bort fält på den översta nivån i jobbinställningarna. Det går inte att ta bort kapslade fält. Det här fältet är valfritt.

Kör nu

Viktigt

  • Du kan bara skapa jobb på en Data Science & Engineering-arbetsyta eller på en Machine Learning-arbetsyta.
  • En arbetsyta är begränsad till 1 000 samtidiga jobbkörningar. Ett 429 Too Many Requests svar returneras när du begär en körning som inte kan starta omedelbart.
  • Antalet jobb som en arbetsyta kan skapa på en timme är begränsat till 1 0000 (inklusive "kör skicka"). Den här gränsen påverkar även jobb som skapas av REST API och notebook-flöden.
Slutpunkt HTTP-metod
2.0/jobs/run-now POST

Kör ett jobb nu och returnera den run_id utlösta körningen.

Tips

Om du anropar Skapa tillsammans med Kör nu kan du använda slutpunkten Kör skicka i stället, vilket gör att du kan skicka din arbetsbelastning direkt utan att behöva skapa ett jobb.

Exempel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Ett exempel på en begäran om ett notebook-jobb:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

Ett exempel på en begäran om ett JAR-jobb:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • Innehållet i run-job.json med fält som är lämpliga för din lösning.

I det här exemplet används en .netrc-fil och jq.

Begärandestruktur

Fältnamn Typ Description
job_id INT64
jar_params En matris med STRING En lista över parametrar för jobb med JAR-uppgifter, t.ex. "jar_params": ["john doe", "35"]. Parametrarna används för att anropa huvudfunktionen i huvudklassen som anges i Spark JAR-aktiviteten. Om det inte anges på run-nowkommer den som standard att vara en tom lista. jar_params kan inte anges tillsammans med notebook_params. JSON-representationen av det här fältet (dvs. {"jar_params":["john doe","35"]}) får inte överstiga 10 000 byte.
notebook_params En karta över ParamPair En karta från nycklar till värden för jobb med notebook-uppgift, t.ex.
"notebook_params": {"name": "john doe", "age": "35"}. Kartan skickas till notebook-filen och är tillgänglig via funktionen dbutils.widgets.get .

Om det inte anges på run-nowanvänder den utlösta körningen jobbets basparametrar.

Du kan inte ange notebook_params tillsammans med jar_params.

JSON-representationen av det här fältet (dvs.
{"notebook_params":{"name":"john doe","age":"35"}}) får inte överstiga 10 000 byte.
python_params En matris med STRING En lista över parametrar för jobb med Python-uppgifter, t.ex. "python_params": ["john doe", "35"]. Parametrarna skickas till Python-filen som kommandoradsparametrar. Om det anges på run-nowskriver den över de parametrar som anges i jobbinställningen. JSON-representationen av det här fältet (dvs. {"python_params":["john doe","35"]}) får inte överstiga 10 000 byte.
spark_submit_params En matris med STRING En lista över parametrar för jobb med spark submit-uppgift, t.ex.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parametrarna skickas till spark-submit-skriptet som kommandoradsparametrar. Om det anges på run-nowskriver den över de parametrar som anges i jobbinställningen. JSON-representationen av det här fältet får inte överstiga 10 000 byte.
idempotency_token STRING En valfri token för att garantera idempotensen för jobbkörningsbegäranden. Om det redan finns en körning med den angivna token skapar begäran inte en ny körning utan returnerar ID:t för den befintliga körningen i stället. Om en körning med den angivna token tas bort returneras ett fel.

Om du anger token för idempotens kan du vid fel försöka igen tills begäran lyckas. Azure Databricks garanterar att exakt en körning startas med den idempotenstoken.

Den här token måste innehålla högst 64 tecken.

Mer information finns i Så här säkerställer du idempotens för jobb.

Svarsstruktur

Fältnamn Typ Description
run_id INT64 Det globalt unika ID:t för den nyligen utlösta körningen.
number_in_job INT64 Sekvensnumret för den här körningen bland alla körningar av jobbet.

Kör skicka

Viktigt

  • Du kan bara skapa jobb på en Data Science & Engineering-arbetsyta eller på en Machine Learning-arbetsyta.
  • En arbetsyta är begränsad till 1 000 samtidiga jobbkörningar. Ett 429 Too Many Requests svar returneras när du begär en körning som inte kan starta omedelbart.
  • Antalet jobb som en arbetsyta kan skapa på en timme är begränsat till 1 0000 (inklusive "kör skicka"). Den här gränsen påverkar även jobb som skapas av REST API och notebook-flöden.
Slutpunkt HTTP-metod
2.0/jobs/runs/submit POST

Skicka en engångskörning. Med den här slutpunkten kan du skicka en arbetsbelastning direkt utan att skapa ett jobb. Körningar som skickas med den här slutpunkten visas inte i användargränssnittet. Använd API:et jobs/runs/get för att kontrollera körningstillståndet när jobbet har skickats.

Exempel

Förfrågan

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"
  }
}

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • Innehållet i submit-job.json med fält som är lämpliga för din lösning.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "run_id": 123
}

Begärandestruktur

Viktigt

  • När du kör ett jobb i ett nytt jobbkluster behandlas jobbet som en jobbberäkningsarbetsbelastning (automatiserad) som omfattas av prissättningen för jobbberäkning.
  • När du kör ett jobb i ett befintligt kluster för alla syften behandlas det som en All-Purpose beräkningsarbetsbelastning (interaktiv) som omfattas av All-Purpose Beräkningspriser.
Fältnamn Typ Description
existing_cluster_id ELLER new_cluster STRING ELLER NewCluster Om existing_cluster_id används ID:t för ett befintligt kluster för alla körningar av det här jobbet. När du kör jobb i ett befintligt kluster kan du behöva starta om klustret manuellt om det slutar svara. Vi föreslår att du kör jobb i nya kluster för bättre tillförlitlighet.

Om new_cluster en beskrivning av ett kluster som skapas för varje körning.

Om du anger en PipelineTask kan det här fältet vara tomt.
notebook_task ELLER spark_jar_task ELLER spark_python_task ELLER spark_submit_task ELLER pipeline_task NotebookTask ELLER SparkJarTask ELLER SparkPythonTask ELLER SparkSubmitTask ELLER PipelineTask Om notebook_task anger att det här jobbet ska köra en notebook-fil. Det här fältet kanske inte anges tillsammans med spark_jar_task.

Om spark_jar_task anger att det här jobbet ska köra en JAR.

Om spark_python_task anger att det här jobbet ska köra en Python-fil.

Om spark_submit_task anger att det här jobbet ska startas av spark-sändningsskriptet.

Om pipeline_task anger att det här jobbet ska köra en Delta Live Tables-pipeline.
run_name STRING Ett valfritt namn för körningen. Standardvärdet är Untitled.
bibliotek En matris med bibliotek En valfri lista över bibliotek som ska installeras i klustret som ska köra jobbet. Standardvärdet är en tom lista.
timeout_seconds INT32 En valfri tidsgräns som tillämpas på varje körning av det här jobbet. Standardbeteendet är att inte ha någon tidsgräns.
idempotency_token STRING En valfri token för att garantera idempotensen för jobbkörningsbegäranden. Om det redan finns en körning med den angivna token skapar begäran inte en ny körning utan returnerar ID:t för den befintliga körningen i stället. Om en körning med den angivna token tas bort returneras ett fel.

Om du anger token för idempotens kan du vid fel försöka igen tills begäran lyckas. Azure Databricks garanterar att exakt en körning startas med den idempotenstoken.

Den här token måste innehålla högst 64 tecken.

Mer information finns i Så här säkerställer du idempotens för jobb.

Svarsstruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för den nyligen skickade körningen.

Kör lista

Slutpunkt HTTP-metod
2.0/jobs/runs/list GET

Listan körs i fallande ordning efter starttid.

Anteckning

Körningar tas bort automatiskt efter 60 dagar. Om du vill referera till dem längre än 60 dagar bör du spara gamla körningsresultat innan de upphör att gälla. Information om hur du exporterar med hjälp av användargränssnittet finns i Exportera jobbkörningsresultat. Information om hur du exporterar med hjälp av jobb-API:et finns i Kör export.

Exempel

Förfrågan

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 .

Eller:

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 .

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> med jobbets ID, till exempel 123.
  • <true-false> med true eller false.
  • <offset> med värdet offset .
  • <limit> med värdet limit .
  • <run-type> med värdet run_type .

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "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,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

Begärandestruktur

Fältnamn Typ Description
active_only ELLER completed_only BOOL Eller BOOL Om active_only är trueinkluderas endast aktiva körningar i resultatet. Annars visas både aktiva och slutförda körningar. En aktiv körning är en körning i PENDING, RUNNINGeller TERMINATINGRunLifecycleState. Det här fältet får inte vara true när completed_only är true.

Om completed_only är trueinkluderas endast slutförda körningar i resultatet. Annars visas både aktiva och slutförda körningar. Det här fältet får inte vara true när active_only är true.
job_id INT64 Jobbet som listan ska köras för. Om den utelämnas visas jobbtjänstens körningar från alla jobb.
offset INT32 Förskjutningen av den första körningen som returneras i förhållande till den senaste körningen.
gräns INT32 Antalet körningar som ska returneras. Det här värdet bör vara större än 0 och mindre än 1 000. Standardvärdet är 20. Om en begäran anger en gräns på 0 använder tjänsten i stället den maximala gränsen.
run_type STRING Typen av körningar som ska returneras. En beskrivning av körningstyper finns i Kör.

Svarsstruktur

Fältnamn Typ Description
Körs En matris med Körning En lista över körningar, från senast startade till minst.
has_more BOOL Om sant är ytterligare körningar som matchar det angivna filtret tillgängliga för listning.

Kör get

Slutpunkt HTTP-metod
2.0/jobs/runs/get GET

Hämta metadata för en körning.

Anteckning

Körningar tas bort automatiskt efter 60 dagar. Om du vill referera till dem längre än 60 dagar bör du spara gamla körningsresultat innan de upphör att gälla. Information om hur du exporterar med hjälp av användargränssnittet finns i Exportera jobbkörningsresultat. Information om hur du exporterar med hjälp av jobb-API:et finns i Kör export.

Exempel

Förfrågan

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

Eller:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> med ID för körningen, till exempel 123.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "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,
  "trigger": "PERIODIC"
}

Begärandestruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för körningen som metadata ska hämtas för. Det här fältet är obligatoriskt.

Svarsstruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som innehåller den här körningen.
run_id INT64 Den kanoniska identifieraren för körningen. Det här ID:t är unikt för alla körningar av alla jobb.
number_in_job INT64 Sekvensnumret för den här körningen bland alla körningar av jobbet. Det här värdet börjar på 1.
original_attempt_run_id INT64 Om den här körningen är ett återförsök av ett tidigare körningsförsök innehåller det här fältet run_id för det ursprungliga försöket. Annars är det samma som run_id.
state RunState Körningens resultat- och livscykeltillstånd.
schedule CronSchedule Cron-schemat som utlöste den här körningen om det utlöstes av den periodiska schemaläggaren.
aktivitet JobTask Den uppgift som utförs av körningen, om någon.
cluster_spec ClusterSpec En ögonblicksbild av jobbets klusterspecifikation när den här körningen skapades.
cluster_instance ClusterInstance Klustret som används för den här körningen. Om körningen har angetts för att använda ett nytt kluster anges det här fältet när jobbtjänsten har begärt ett kluster för körningen.
overriding_parameters RunParameters De parametrar som används för den här körningen.
start_time INT64 Den tid då den här körningen startades i epok millisekunder (millisekunder sedan 1/1/1970 UTC). Det här är kanske inte den tidpunkt då jobbaktiviteten börjar köras, till exempel om jobbet är schemalagt att köras i ett nytt kluster, det är den tidpunkt då klusterskapandeanropet utfärdas.
end_time INT64 Den tid då den här körningen slutade i epok millisekunder (millisekunder sedan 1/1/1970 UTC). Det här fältet anges till 0 om jobbet fortfarande körs.
setup_duration INT64 Den tid det tog att konfigurera klustret i millisekunder. För körningar som körs på nya kluster är det här klusterskapandetiden, för körningar som körs på befintliga kluster den här gången bör vara mycket kort.
execution_duration INT64 Tiden i millisekunder tog det att köra kommandona i JAR-filen eller notebook-filen tills de slutfördes, misslyckades, tidsgränsen tog slut, avbröts eller påträffade ett oväntat fel.
cleanup_duration INT64 Den tid i millisekunder det tog att avsluta klustret och rensa eventuella associerade artefakter. Den totala varaktigheten för körningen är summan av setup_duration, execution_duration och cleanup_duration.
Utlösa TriggerType Den typ av utlösare som utlöste den här körningen.
creator_user_name STRING Skaparens användarnamn. Det här fältet tas inte med i svaret om användaren har tagits bort
run_page_url STRING URL:en till detaljsidan för körningen.

Kör export

Slutpunkt HTTP-metod
2.0/jobs/runs/export GET

Exportera och hämta jobbkörningsaktiviteten.

Anteckning

Endast notebook-körningar kan exporteras i HTML-format. Det går inte att exportera körningar av andra typer.

Exempel

Förfrågan

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

Eller:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> med ID för körningen, till exempel 123.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

Om du vill extrahera HTML-anteckningsboken från JSON-svaret laddar du ned och kör det här Python-skriptet.

Anteckning

Notebook-brödtexten __DATABRICKS_NOTEBOOK_MODEL i objektet är kodad.

Begärandestruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för körningen. Det här fältet är obligatoriskt.
views_to_export ViewsToExport Vilka vyer som ska exporteras (KOD, INSTRUMENTPANELER eller ALLA). Standardvärdet är CODE.

Svarsstruktur

Fältnamn Typ Description
Visningar En matris med ViewItem Det exporterade innehållet i HTML-format (ett för varje visningsobjekt).

Körningar avbryts

Slutpunkt HTTP-metod
2.0/jobs/runs/cancel POST

Avbryt en jobbkörning. Eftersom körningen avbryts asynkront kan körningen fortfarande köras när den här begäran slutförs. Körningen avslutas inom kort. Om körningen redan finns i en terminal life_cycle_stateär den här metoden en no-op.

Den här slutpunkten verifierar att parametern run_id är giltig och för ogiltiga parametrar returneras HTTP-statuskod 400.

Exempel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> med ID för körningen, till exempel 123.

I det här exemplet används en .netrc-fil .

Begärandestruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för körningen som ska avbrytas. Det här fältet är obligatoriskt.

Körningar avbryter alla

Slutpunkt HTTP-metod
2.0/jobs/runs/cancel-all POST

Avbryt alla aktiva körningar av ett jobb. Eftersom körningen avbryts asynkront förhindrar den inte att nya körningar startas.

Den här slutpunkten verifierar att parametern job_id är giltig och för ogiltiga parametrar returneras HTTP-statuskod 400.

Exempel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> med jobbets ID, till exempel 123.

I det här exemplet används en .netrc-fil .

Begärandestruktur

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som ska avbryta alla körningar av. Det här fältet är obligatoriskt.

Körningar får utdata

Slutpunkt HTTP-metod
2.0/jobs/runs/get-output GET

Hämta utdata och metadata för en enskild aktivitetskörning. När en notebook-uppgift returnerar ett värde via anropet dbutils.notebook.exit() kan du använda den här slutpunkten för att hämta det värdet. Azure Databricks begränsar det här API:et till att returnera de första 5 MB av utdata. Om du vill returnera ett större resultat kan du lagra jobbresultat i en molnlagringstjänst.

Den här slutpunkten verifierar att parametern run_id är giltig och för ogiltiga parametrar returneras HTTP-statuskod 400.

Körningar tas bort automatiskt efter 60 dagar. Om du vill referera till dem längre än 60 dagar bör du spara gamla körningsresultat innan de upphör att gälla. Information om hur du exporterar med hjälp av användargränssnittet finns i Exportera jobbkörningsresultat. Information om hur du exporterar med hjälp av jobb-API:et finns i Kör export.

Exempel

Förfrågan

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

Eller:

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> med ID för körningen, till exempel 123.

I det här exemplet används en .netrc-fil och jq.

Svarsåtgärder

{
  "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,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

Begärandestruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för körningen. För ett jobb med mulitple-aktiviteter är detta en run_id aktivitetskörning. Se Hämta utdata för körningar. Det här fältet är obligatoriskt.

Svarsstruktur

Fältnamn Typ Description
notebook_output ELLER-fel NotebookOutput Eller STRING Om notebook_output, utdata för en notebook-uppgift, om det är tillgängligt. En notebook-uppgift som avslutas (antingen korrekt eller med ett fel) utan att anropa
dbutils.notebook.exit() anses ha tomma utdata. Det här fältet anges men dess resultatvärde är tomt.

Om det uppstår ett fel visas ett felmeddelande som anger varför utdata inte är tillgängliga. Meddelandet är ostrukturerat och dess exakta format kan komma att ändras.
metadata Kör All information om körningen förutom dess utdata.

Kör borttagning

Slutpunkt HTTP-metod
2.0/jobs/runs/delete POST

Ta bort en icke-aktiv körning. Returnerar ett fel om körningen är aktiv.

Exempel

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

Ersätt:

  • <databricks-instance> med instansnamnet för Azure Databricks-arbetsytan, till exempel adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> med ID för körningen, till exempel 123.

I det här exemplet används en .netrc-fil .

Begärandestruktur

Fältnamn Typ Description
run_id INT64 Den kanoniska identifieraren för körningen som metadata ska hämtas för.

Datastrukturer

I det här avsnittet:

ClusterInstance

Identifierare för klustret och Spark-kontexten som används av en körning. Dessa två värden identifierar tillsammans en körningskontext över hela tiden.

Fältnamn Typ Description
cluster_id STRING Den kanoniska identifieraren för klustret som används av en körning. Det här fältet är alltid tillgängligt för körningar i befintliga kluster. För körningar i nya kluster blir det tillgängligt när klustret har skapats. Det här värdet kan användas för att visa loggar genom att bläddra till /#setting/sparkui/$cluster_id/driver-logs. Loggarna fortsätter att vara tillgängliga när körningen är klar.

Svaret inkluderar inte det här fältet om identifieraren inte är tillgänglig ännu.
spark_context_id STRING Den kanoniska identifieraren för Spark-kontexten som används av en körning. Det här fältet fylls i när körningen påbörjas. Det här värdet kan användas för att visa Spark-användargränssnittet genom att bläddra till /#setting/sparkui/$cluster_id/$spark_context_id. Spark-användargränssnittet fortsätter att vara tillgängligt när körningen har slutförts.

Svaret inkluderar inte det här fältet om identifieraren inte är tillgänglig ännu.

ClusterSpec

Viktigt

  • När du kör ett jobb i ett nytt jobbkluster behandlas jobbet som en jobbberäkningsarbetsbelastning (automatiserad) som omfattas av prissättningen för jobbberäkning.
  • När du kör ett jobb i ett befintligt kluster för alla syften behandlas det som en All-Purpose beräkningsarbetsbelastning (interaktiv) som omfattas av All-Purpose Beräkningspriser.
Fältnamn Typ Description
existing_cluster_id ELLER new_cluster STRING ELLER NewCluster Om existing_cluster_id används ID:t för ett befintligt kluster för alla körningar av det här jobbet. När du kör jobb i ett befintligt kluster kan du behöva starta om klustret manuellt om det slutar svara. Vi föreslår att du kör jobb i nya kluster för bättre tillförlitlighet.

Om new_cluster en beskrivning av ett kluster som skapas för varje körning.

Om du anger en PipelineTask kan det här fältet vara tomt.
bibliotek En matris med bibliotek En valfri lista över bibliotek som ska installeras i klustret som ska köra jobbet. Standardvärdet är en tom lista.

CronSchedule

Fältnamn Typ Description
quartz_cron_expression STRING Ett Cron-uttryck med Quartz-syntax som beskriver schemat för ett jobb. Mer information finns i Cron-utlösare . Det här fältet är obligatoriskt.
timezone_id STRING Ett Java-tidszons-ID. Schemat för ett jobb kommer att matchas med avseende på den här tidszonen. Mer information finns i Java TimeZone . Det här fältet är obligatoriskt.
pause_status STRING Ange om det här schemat är pausat eller inte. Antingen "PAUSAD" eller "UNPAUSED".

Jobb

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för det här jobbet.
creator_user_name STRING Skaparens användarnamn. Det här fältet tas inte med i svaret om användaren redan har tagits bort.
run_as STRING Det användarnamn som jobbet ska köras som. run_as baseras på de aktuella jobbinställningarna och är inställd på jobbets skapare om jobbåtkomstkontrollen är inaktiverad eller behörigheten is_owner om jobbåtkomstkontroll är aktiverad.
inställningar JobSettings Inställningar för det här jobbet och alla dess körningar. De här inställningarna kan uppdateras med hjälp av resetJob metoden .
created_time INT64 Den tid då det här jobbet skapades i epoker millisekunder (millisekunder sedan 1/1/1970 UTC).

JobEmailNotifications

Viktigt

Fälten on_start, on_success och on_failure accepterar endast latinska tecken (ASCII-teckenuppsättning). Om du använder icke-ASCII-tecken returneras ett fel. Exempel på ogiltiga, icke-ASCII-tecken är kinesiska, japanska kanjis och emojis.

Fältnamn Typ Description
on_start En matris med STRING En lista över e-postadresser som ska meddelas när en körning börjar. Om det inte anges när jobb skapas, återställs eller uppdateras är listan tom och meddelanden skickas inte.
on_success En matris med STRING En lista över e-postadresser som ska meddelas när en körning har slutförts. En körning anses ha slutförts om den slutar med en TERMINATEDlife_cycle_state och en SUCCESSFUL result_state. Om det inte anges när jobb skapas, återställs eller uppdateras är listan tom och meddelanden skickas inte.
on_failure En matris med STRING En lista över e-postadresser som ska meddelas när en körning misslyckas. En körning anses ha slutförts utan framgång om den slutar med en INTERNAL_ERROR
life_cycle_state eller en SKIPPED, FAILED, eller TIMED_OUT result_state. Om detta inte anges när jobbet skapas, återställs eller uppdateras kommer listan att vara tom och meddelanden skickas inte.
no_alert_for_skipped_runs BOOL Om det är sant ska du inte skicka e-post till mottagare som anges i on_failure om körningen hoppas över.

JobSettings

Viktigt

  • När du kör ett jobb i ett nytt jobbkluster behandlas jobbet som en jobbberäkningsarbetsbelastning (automatiserad) som omfattas av prissättningen för jobbberäkning.
  • När du kör ett jobb i ett befintligt kluster för alla syften behandlas det som en All-Purpose beräkningsarbetsbelastning (interaktiv) som omfattas av All-Purpose Beräkningspriser.

Inställningar för ett jobb. De här inställningarna kan uppdateras med hjälp av resetJob metoden .

Fältnamn Typ Description
existing_cluster_id ELLER new_cluster STRING ELLER NewCluster Om existing_cluster_id används ID:t för ett befintligt kluster för alla körningar av det här jobbet. När du kör jobb i ett befintligt kluster kan du behöva starta om klustret manuellt om det slutar svara. Vi föreslår att du kör jobb i nya kluster för bättre tillförlitlighet.

Om new_cluster en beskrivning av ett kluster som skapas för varje körning.

Om du anger en PipelineTask kan det här fältet vara tomt.
notebook_task ELLER spark_jar_task ELLER spark_python_task ELLER spark_submit_task ELLER pipeline_task NotebookTask ELLER SparkJarTask ELLER SparkPythonTask ELLER SparkSubmitTask ELLER PipelineTask Om notebook_task anger att det här jobbet ska köra en notebook-fil. Det här fältet kanske inte anges tillsammans med spark_jar_task.

Om spark_jar_task anger att det här jobbet ska köra en JAR.

Om spark_python_task anger att det här jobbet ska köra en Python-fil.

Om spark_submit_task anger att det här jobbet ska startas av spark-sändningsskriptet.

Om pipeline_task anger att det här jobbet ska köra en Delta Live Tables-pipeline.
name STRING Ett valfritt namn för jobbet. Standardvärdet är Untitled.
bibliotek En matris med bibliotek En valfri lista över bibliotek som ska installeras i klustret som ska köra jobbet. Standardvärdet är en tom lista.
email_notifications JobEmailNotifications En valfri uppsättning e-postadresser som meddelas när körningar av det här jobbet påbörjas eller slutförs samt när det här jobbet tas bort. Standardbeteendet är att inte skicka några e-postmeddelanden.
timeout_seconds INT32 En valfri tidsgräns som tillämpas på varje körning av det här jobbet. Standardbeteendet är att inte ha någon tidsgräns.
max_retries INT32 Ett valfritt maximalt antal gånger för att försöka köra en misslyckad körning igen. En körning anses vara misslyckad om den FAILED slutförs med result_state eller
INTERNAL_ERROR
life_cycle_state. Värdet -1 innebär att återförsök på obestämd tid och värdet 0 innebär att aldrig försöka igen. Standardbeteendet är att aldrig försöka igen.
min_retry_interval_millis INT32 Ett valfritt minimalt intervall i millisekunder mellan försök. Standardbeteendet är att misslyckade körningar omedelbart görs om.
retry_on_timeout BOOL En valfri princip för att ange om ett jobb ska försöka igen när tidsgränsen uppnås. Standardbeteendet är att inte försöka igen vid tidsgränsen.
schedule CronSchedule Ett valfritt periodiskt schema för det här jobbet. Standardbeteendet är att jobbet bara körs när det utlöses genom att klicka på "Kör nu" i användargränssnittet för jobb eller skicka en API-begäran till
runNow.
max_concurrent_runs INT32 Ett valfritt högsta tillåtna antal samtidiga körningar av jobbet.

Ange det här värdet om du vill kunna köra flera körningar av samma jobb samtidigt. Det här är till exempel användbart om du utlöser jobbet enligt ett vanligt schema och vill tillåta att efterföljande körningar överlappar varandra, eller om du vill utlösa flera körningar som skiljer sig från deras indataparametrar.

Den här inställningen påverkar endast nya körningar. Anta till exempel att jobbets samtidighet är 4 och att det finns 4 samtidiga aktiva körningar. Om du sedan ställer in samtidigheten på 3 kommer inte någon av de aktiva körningarna att dödas. Men från och med då hoppas nya körningar över om det inte finns färre än 3 aktiva körningar.

Det här värdet får inte överstiga 1 000. Om du ställer in det här värdet på 0 hoppas alla nya körningar över. Standardbeteendet är att endast tillåta 1 samtidig körning.

JobTask

Fältnamn Typ Description
notebook_task ELLER spark_jar_task ELLER spark_python_task ELLER spark_submit_task ELLER pipeline_task NotebookTask ELLER SparkJarTask ELLER SparkPythonTask ELLER SparkSubmitTask ELLER PipelineTask Om notebook_task anger att det här jobbet ska köra en notebook-fil. Det här fältet kanske inte anges tillsammans med spark_jar_task.

Om spark_jar_task anger att det här jobbet ska köra en JAR.

Om spark_python_task anger att det här jobbet ska köra en Python-fil.

Om spark_submit_task anger att det här jobbet ska startas av spark-sändningsskriptet.

Om pipeline_task anger att det här jobbet ska köra en Delta Live Tables-pipeline.

NewCluster

Fältnamn Typ Description
num_workers ELLER autoskalning INT32 ELLER autoskalning Om num_workers ska antalet arbetsnoder som klustret ska ha. Ett kluster har en Spark-drivrutin och num_workers utförare för totalt num_workers + 1 Spark-noder.

Obs! När du läser egenskaperna för ett kluster återspeglar det här fältet önskat antal arbetare i stället för det faktiska aktuella antalet arbetare. Om ett kluster till exempel ändras från 5 till 10 arbetare uppdateras det här fältet omedelbart för att återspegla målstorleken på 10 arbetare, medan de arbetare som anges i spark_info gradvis öka från 5 till 10 när de nya noderna etableras.

Om autoskalning krävs parametrar för att automatiskt skala upp och ned kluster baserat på belastning.
spark_version STRING Spark-versionen av klustret. En lista över tillgängliga Spark-versioner kan hämtas med api-anropet Runtime-versioner . Det här fältet är obligatoriskt.
spark_conf SparkConfPair Ett objekt som innehåller en uppsättning valfria, användardefinierade Nyckel/värde-par för Spark-konfiguration. Du kan också skicka en sträng med extra JVM-alternativ till drivrutinen och utförare via
spark.driver.extraJavaOptions respektive spark.executor.extraJavaOptions .

Exempel på Spark-konfigurationer:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} eller
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING Det här fältet kodar, via ett enda värde, de resurser som är tillgängliga för var och en av Spark-noderna i det här klustret. Spark-noderna kan till exempel etableras och optimeras för minnes- eller beräkningsintensiva arbetsbelastningar En lista över tillgängliga nodtyper kan hämtas med hjälp av API-anropet Listnodtyper . Det här fältet, fältet instance_pool_id eller en klusterprincip som anger ett nodtyp-ID eller instanspools-ID krävs.
driver_node_type_id STRING Nodtypen för Spark-drivrutinen. Det här fältet är valfritt. Om det inte anges anges drivrutinsnodtypen som samma värde som node_type_id definierats ovan.
custom_tags Klustertaggar Ett objekt som innehåller en uppsättning taggar för klusterresurser. Databricks taggar alla klusterresurser (till exempel virtuella datorer) med dessa taggar utöver default_tags.

Obs!

* Taggar stöds inte på äldre nodtyper som beräkningsoptimerad och minnesoptimerad
* Databricks tillåter högst 45 anpassade taggar
cluster_log_conf ClusterLogConf Konfigurationen för att leverera Spark-loggar till ett långsiktigt lagringsmål. Endast ett mål kan anges för ett kluster. Om konfigurationen anges levereras loggarna till målet varje 5 mins. Målet för drivrutinsloggar är <destination>/<cluster-id>/driver, medan målet för körloggarna är <destination>/<cluster-id>/executor.
init_scripts En matris med InitScriptInfo Konfigurationen för lagring av init-skript. Valfritt antal skript kan anges. Skripten körs sekventiellt i den angivna ordningen. Om cluster_log_conf anges skickas init-skriptloggar till
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Ett objekt som innehåller en uppsättning valfria, användardefinierade nyckel/värde-nyckel/värde-par för miljövariabeln. Nyckel/värde-par i formuläret (X,Y) exporteras som det är (dvs.
export X='Y') samtidigt som föraren och arbetstagarna startas.

För att ange ytterligare en uppsättning av SPARK_DAEMON_JAVA_OPTSrekommenderar vi att du lägger till dem på $SPARK_DAEMON_JAVA_OPTS enligt följande exempel. Detta säkerställer att även alla standarddatabrickshanterade miljövariabler ingår.

Exempel på Spark-miljövariabler:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} eller
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Lokal lagring med automatisk skalning: när det här klustret är aktiverat får det dynamiskt ytterligare diskutrymme när Spark-arbetarna har ont om diskutrymme. Mer information finns i Automatisk skalning av lokal lagring .
driver_instance_pool_id STRING Det valfria ID:t för instanspoolen som ska användas för drivrutinsnoden. Du måste också ange instance_pool_id. Mer information finns i API:et för instanspooler 2.0 .
instance_pool_id STRING Det valfria ID:t för instanspoolen som ska användas för klusternoder. Om driver_instance_pool_id finns,
instance_pool_id används endast för arbetsnoder. Annars används den för både drivrutinsnoden och arbetsnoderna. Mer information finns i API:et för instanspooler 2.0 .

NotebookOutput

Fältnamn Typ Description
resultat STRING Värdet skickades till dbutils.notebook.exit(). Azure Databricks begränsar det här API:et till att returnera de första 1 MB av värdet. För ett större resultat kan ditt jobb lagra resultaten i en molnlagringstjänst. Det här fältet saknas om dbutils.notebook.exit() det aldrig anropades.
Trunkerade BOOLEAN Om resultatet trunkerades eller inte.

NotebookTask

Alla utdataceller har storleken 8 MB. Om utdata från en cell har en större storlek avbryts resten av körningen och körningen markeras som misslyckad. I så fall kan en del av innehållets utdata från andra celler också saknas.

Om du behöver hjälp med att hitta cellen som ligger utanför gränsen kör du notebook-filen mot ett kluster för alla syften och använder den här tekniken för att spara filer automatiskt.

Fältnamn Typ Description
notebook_path STRING Den absoluta sökvägen för anteckningsboken som ska köras på Azure Databricks-arbetsytan. Den här sökvägen måste börja med ett snedstreck. Det här fältet är obligatoriskt.
revision_timestamp LONG Tidsstämpeln för revisionen av notebook-filen.
base_parameters En karta över ParamPair Basparametrar som ska användas för varje körning av det här jobbet. Om körningen initieras av ett anrop till run-now med angivna parametrar sammanfogas de två parametrarna. Om samma nyckel anges i base_parameters och i run-nowanvänds värdet från run-now .

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

Om notebook-filen tar en parameter som inte anges i jobbets eller run-now åsidosättningsparametrarna base_parameters används standardvärdet från notebook-filen.

Hämta dessa parametrar i en notebook-fil med dbutils.widgets.get.

ParamPair

Namnbaserade parametrar för jobb som kör notebook-uppgifter.

Viktigt

Fälten i den här datastrukturen accepterar endast latinska tecken (ASCII-teckenuppsättning). Om du använder icke-ASCII-tecken returneras ett fel. Exempel på ogiltiga, icke-ASCII-tecken är kinesiska, japanska kanjis och emojis.

Typ Description
STRING Parameternamn. Skicka till dbutils.widgets.get för att hämta värdet.
STRING Parametervärde.

PipelineTask

Fältnamn Typ Description
pipeline_id STRING Det fullständiga namnet på pipelineaktiviteten Delta Live Tables som ska köras.

Köra

All information om en körning förutom dess utdata. Utdata kan hämtas separat med getRunOutput metoden .

Fältnamn Typ Description
job_id INT64 Den kanoniska identifieraren för jobbet som innehåller den här körningen.
run_id INT64 Den kanoniska identifieraren för körningen. Detta ID är unikt för alla körningar av alla jobb.
creator_user_name STRING Skaparens användarnamn. Det här fältet tas inte med i svaret om användaren redan har tagits bort.
number_in_job INT64 Sekvensnumret för den här körningen bland alla körningar av jobbet. Det här värdet börjar vid 1.
original_attempt_run_id INT64 Om den här körningen är ett återförsök av ett tidigare körningsförsök innehåller det här fältet run_id för det ursprungliga försöket. Annars är det samma som run_id.
state RunState Körningens resultat- och livscykeltillstånd.
schedule CronSchedule Cron-schemat som utlöste den här körningen om det utlöstes av den periodiska schemaläggaren.
aktivitet JobTask Den uppgift som utförs av körningen, om någon.
cluster_spec ClusterSpec En ögonblicksbild av jobbets klusterspecifikation när den här körningen skapades.
cluster_instance ClusterInstance Klustret som används för den här körningen. Om körningen har angetts för att använda ett nytt kluster anges det här fältet när jobbtjänsten har begärt ett kluster för körningen.
overriding_parameters RunParameters Parametrarna som används för den här körningen.
start_time INT64 Den tid då den här körningen startades i epoker millisekunder (millisekunder sedan 1/1/1970 UTC). Det här kanske inte är den tid då jobbaktiviteten börjar köras, till exempel om jobbet är schemalagt att köras i ett nytt kluster, det här är den tid då anropet för att skapa klustret utfärdas.
setup_duration INT64 Den tid det tog att konfigurera klustret i millisekunder. För körningar som körs på nya kluster är det här tidpunkten för klusterskapande, för körningar som körs på befintliga kluster den här gången bör vara mycket kort.
execution_duration INT64 Tiden i millisekunder det tog att köra kommandona i JAR-filen eller notebook-filen tills de slutfördes, misslyckades, tidsgränsen översundades, avbröts eller påträffade ett oväntat fel.
cleanup_duration INT64 Tiden i millisekunder det tog att avsluta klustret och rensa eventuella associerade artefakter. Den totala varaktigheten för körningen är summan av setup_duration, execution_duration och cleanup_duration.
end_time INT64 Tiden då den här körningen slutade i epok millisekunder (millisekunder sedan 1970-01-1970 UTC). Det här fältet anges till 0 om jobbet fortfarande körs.
Utlösa TriggerType Den typ av utlösare som utlöste den här körningen.
run_name STRING Ett valfritt namn för körningen. Standardvärdet är Untitled. Den maximala tillåtna längden är 4 096 byte i UTF-8-kodning.
run_page_url STRING URL:en till informationssidan för körningen.
run_type STRING Typ av körning.

* JOB_RUN - Normal jobbkörning. En körning som skapats med Kör nu.
* WORKFLOW_RUN – Arbetsflödeskörning. En körning som skapats med dbutils.notebook.run.
* SUBMIT_RUN – Skicka körning. En körning som skapats med Kör nu.
attempt_number INT32 Sekvensnumret för det här körningsförsöket för en utlöst jobbkörning. Det första försöket för en körning har en attempt_number på 0. Om det första körningsförsöket misslyckas och jobbet har en återförsöksprincip (max_retries> 0), skapas efterföljande körningar med ett original_attempt_run_id av det ursprungliga försökets ID och en inkrementell attempt_number. Körningar görs bara igen tills de lyckas och maxvärdet attempt_number är samma som max_retries jobbets värde.

RunLifeCycleState

Livscykeltillståndet för en körning. Tillåtna tillståndsövergångar är:

  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Stat Beskrivning
PENDING Körningen har utlösts. Om det inte redan finns en aktiv körning av samma jobb förbereds klustret och körningskontexten. Om det redan finns en aktiv körning av samma jobb övergår körningen omedelbart till SKIPPED tillståndet utan att några resurser förbereds.
RUNNING Uppgiften för den här körningen körs.
TERMINATING Uppgiften för den här körningen har slutförts och kluster- och körningskontexten rensas.
TERMINATED Uppgiften för den här körningen har slutförts och kluster- och körningskontexten har rensats. Det här tillståndet är terminal.
SKIPPED Den här körningen avbröts eftersom en tidigare körning av samma jobb redan var aktiv. Det här tillståndet är terminal.
INTERNAL_ERROR Ett exceptionellt tillstånd som indikerar ett fel i jobbtjänsten, till exempel nätverksfel under en lång period. Om en körning på ett nytt kluster slutar i INTERNAL_ERROR tillståndet avslutar jobbtjänsten klustret så snart som möjligt. Det här tillståndet är terminal.

RunParameters

Parametrar för den här körningen. Endast en av jar_params, python_params, eller notebook_params ska anges i run-now begäran, beroende på typen av jobbaktivitet. Jobb med Spark JAR-aktivitet eller Python-uppgift tar en lista över positionsbaserade parametrar, och jobb med notebook-uppgifter tar en nyckelvärdeskarta.

Fältnamn Typ Description
jar_params En matris med STRING En lista med parametrar för jobb med Spark JAR-uppgifter, t.ex. "jar_params": ["john doe", "35"]. Parametrarna används för att anropa huvudfunktionen i huvudklassen som anges i Spark JAR-aktiviteten. Om den inte anges på run-nowkommer den som standard att vara en tom lista. jar_params kan inte anges tillsammans med notebook_params. JSON-representationen av det här fältet (dvs. {"jar_params":["john doe","35"]}) får inte överstiga 10 000 byte.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.
notebook_params En karta över ParamPair En mappning från nycklar till värden för jobb med notebook-uppgift, t.ex.
"notebook_params": {"name": "john doe", "age": "35"}. Kartan skickas till notebook-filen och är tillgänglig via funktionen dbutils.widgets.get .

Om det inte anges på run-nowanvänder den utlösta körningen jobbets basparametrar.

notebook_params kan inte anges tillsammans med jar_params.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

JSON-representationen av det här fältet (dvs.
{"notebook_params":{"name":"john doe","age":"35"}}) får inte överstiga 10 000 byte.
python_params En matris med STRING En lista över parametrar för jobb med Python-uppgifter, t.ex. "python_params": ["john doe", "35"]. Parametrarna skickas till Python-filen som kommandoradsparametrar. Om den anges på run-nowskulle den skriva över de parametrar som anges i jobbinställningen. JSON-representationen av det här fältet (dvs. {"python_params":["john doe","35"]}) får inte överstiga 10 000 byte.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

> [! VIKTIGT! >> Dessa parametrar accepterar endast latinska tecken (ASCII-teckenuppsättning). > Om du använder icke-ASCII-tecken returneras ett fel. Exempel på ogiltiga, icke-ASCII-tecken > är kinesiska, japanska kanjis och emojis.
spark_submit_params En matris med STRING En lista över parametrar för jobb med spark-sändningsaktivitet, t.ex.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parametrarna skickas till spark-submit-skriptet som kommandoradsparametrar. Om den anges på run-nowskulle den skriva över de parametrar som anges i jobbinställningen. JSON-representationen av det här fältet (dvs. {"python_params":["john doe","35"]}) får inte överstiga 10 000 byte.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

> [! VIKTIGT! >> Dessa parametrar accepterar endast latinska tecken (ASCII-teckenuppsättning). > Om du använder icke-ASCII-tecken returneras ett fel. Exempel på ogiltiga, icke-ASCII-tecken > är kinesiska, japanska kanjis och emojis.

RunResultState

Körningens resultattillstånd.

  • Om life_cycle_state = TERMINATED: om körningen hade en aktivitet är resultatet garanterat tillgängligt och anger resultatet av aktiviteten.
  • Om life_cycle_state = PENDING, RUNNING, eller SKIPPED, är resultattillståndet inte tillgängligt.
  • If life_cycle_state = TERMINATING or lifecyclestate = INTERNAL_ERROR: resultattillståndet är tillgängligt om körningen hade en uppgift och lyckades starta den.

När det är tillgängligt ändras aldrig resultattillståndet.

Stat Beskrivning
FRAMGÅNG Uppgiften har slutförts.
DET GICK INTE Uppgiften slutfördes med ett fel.
TIMEDOUT Körningen stoppades efter att tidsgränsen nåtts.
AVBRUTNA Körningen avbröts på användarbegäran.

RunState

Fältnamn Typ Description
life_cycle_state RunLifeCycleState En beskrivning av en körnings aktuella plats i körningslivscykeln. Det här fältet är alltid tillgängligt i svaret.
result_state RunResultState Resultattillståndet för en körning. Om det inte är tillgängligt inkluderar svaret inte det här fältet. Mer information om tillgängligheten för result_state finns i RunResultState .
user_cancelled_or_timedout BOOLEAN Om en körning avbröts manuellt av en användare eller av schemaläggaren eftersom tidsgränsen för körningen var över.
state_message STRING Ett beskrivande meddelande för det aktuella tillståndet. Det här fältet är ostrukturerat och dess exakta format kan komma att ändras.

SparkJarTask

Fältnamn Typ Description
jar_uri STRING Inaktuell sedan 04/2016. Ange ett jar genom fältet libraries i stället. Ett exempel finns i Skapa.
main_class_name STRING Det fullständiga namnet på klassen som innehåller huvudmetoden som ska köras. Den här klassen måste finnas i en JAR som tillhandahålls som ett bibliotek.

Koden bör användas SparkContext.getOrCreate för att hämta en Spark-kontext. Annars misslyckas körningen av jobbet.
parametrar En matris med STRING Parametrar som skickas till huvudmetoden.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

SparkPythonTask

Fältnamn Typ Description
python_file STRING URI:n för Python-filen som ska köras. DBFS-sökvägar stöds. Det här fältet är obligatoriskt.
parametrar En matris med STRING Kommandoradsparametrar som skickas till Python-filen.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

SparkSubmitTask

Viktigt

  • Du kan bara anropa Spark-skicka uppgifter i nya kluster.
  • I new_cluster-specifikationen libraries stöds inte spark_conf . Använd --jars i stället och --py-files för att lägga till Java- och Python-bibliotek och --conf för att ange Spark-konfigurationen.
  • master, deploy-modeoch executor-cores konfigureras automatiskt av Azure Databricks. Du kan inte ange dem i parametrar.
  • Som standard använder Spark-sändningsjobbet allt tillgängligt minne (exklusive reserverat minne för Azure Databricks-tjänster). Du kan ange --driver-memory, och --executor-memory till ett mindre värde för att lämna utrymme för off-heap-användning.
  • Argumenten --jars, --py-files, --files stöder DBFS-sökvägar.

Om du till exempel antar att JAR-filen laddas upp till DBFS kan du köra SparkPi genom att ange följande parametrar.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Fältnamn Typ Description
parametrar En matris med STRING Kommandoradsparametrar som skickas till spark submit.

Använd aktivitetsparametervariabler för att ange parametrar som innehåller information om jobbkörningar.

TriggerType

Det här är den typ av utlösare som kan utlösa en körning.

Typ Description
PERIODISKA Scheman som regelbundet utlöser körningar, till exempel en cron-schemaläggare.
ONE_TIME En gång utlöses som utlöser en enda körning. Detta inträffar när du utlöste en enda körning på begäran via användargränssnittet eller API:et.
IGEN Anger en körning som utlöses som ett återförsök av en tidigare misslyckad körning. Detta inträffar när du begär att köra jobbet igen vid fel.

ViewItem

Det exporterade innehållet är i HTML-format. Om vyn som ska exporteras till exempel är instrumentpaneler returneras en HTML-sträng för varje instrumentpanel.

Fältnamn Typ Description
innehåll STRING Innehållet i vyn.
name STRING Namnet på visningsobjektet. När det gäller kodvyn, anteckningsbokens namn. När det gäller instrumentpanelsvyn är instrumentpanelens namn.
typ Viewtype Typ av visningsobjekt.

Viewtype

Typ Description
ANTECKNINGSBOKEN Objekt för anteckningsboksvy.
INSTRUMENTPANEL Objekt för instrumentpanelsvy.

ViewsToExport

Visa för export: antingen kod, alla instrumentpaneler eller alla.

Typ Description
CODE Kodvy för anteckningsboken.
INSTRUMENTPANELER Alla instrumentpanelsvyer i anteckningsboken.
ALL Alla vyer i anteckningsboken.