Udostępnij za pośrednictwem


Interfejs API zadań 2.0

Ważne

W tym artykule dokumentacji interfejsu API zadań w wersji 2.0. Jednak usługa Databricks zaleca używanie interfejsu API zadań 2.2 dla nowych i istniejących klientów i skryptów. Aby uzyskać szczegółowe informacje na temat zmian w wersji 2.2 interfejsu API Jobs, zapoznaj się z dokumentacją Aktualizowanie interfejsu API Jobs z wersji 2.1 do 2.2.

Interfejs API zadań umożliwia tworzenie, edytowanie i usuwanie zadań. Maksymalny dozwolony rozmiar żądania do interfejsu API zadań to 10 MB.

Aby dowiedzieć się więcej o zaktualizowanej funkcjonalności w nowszych wersjach API zadań, zobacz Aktualizowanie z API zadań 2.0 do 2.1 i Aktualizowanie z API zadań 2.1 do 2.2.

Ostrzeżenie

Nigdy nie należy zapisywać wpisów tajnych kodu ani przechowywać ich w postaci zwykłego tekstu. Użyj interfejsu API wpisów tajnych, aby zarządzać wpisami tajnymi w interfejsie wiersza polecenia usługi Databricks. Użyj narzędzia Secrets (dbutils.secrets), aby odwoływać się do wpisów tajnych w notesach i zadaniach.

Uwaga

Jeśli podczas wykonywania żądań interfejsu API zadań wystąpi błąd 500 poziomów, usługa Databricks zaleca ponawianie żądań przez maksymalnie 10 minut (z co najmniej 30-sekundowym interwałem między ponownymi próbami).

Ważne

Aby uzyskać dostęp do interfejsów API REST, należy uwierzytelnić się.

Tworzyć

Punkt końcowy Metoda HTTP
2.0/jobs/create POST

Utwórz nowe zadanie.

Przykład

W tym przykładzie jest tworzone zadanie uruchamiające zadanie JAR o godzinie 10:15 każdej nocy.

Żądanie

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

{
  "job_id": 1
}

Struktura żądań

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie Obliczeniowe zadania (zautomatyzowane) z cennikiem obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie obliczenia ogólnego przeznaczenia (interaktywne) z cennikiem obliczeń ogólnego przeznaczenia.
Nazwa pola Type Opis
existing_cluster_id LUB new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich uruchomień tego zadania. W przypadku uruchamiania zadań w istniejącym klastrze może być konieczne ręczne ponowne uruchomienie klastra, jeśli przestanie odpowiadać. Zalecamy uruchamianie zadań w nowych klastrach w celu zwiększenia niezawodności.

Jeśli new_cluster, opis klastra, który zostanie utworzony dla każdego przebiegu.

Jeśli określisz wartość PipelineTask, to pole może być puste.
notebook_taskOR LUB spark_jar_task
spark_python_taskOR LUB spark_submit_task
pipeline_task LUB run_job_task
NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask LUB RunJobTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. Nie można określić tego pola w połączeniu z spark_jar_task.

Jeśli spark_jar_task, wskazuje, że to zadanie powinno uruchomić plik JAR.

Jeśli spark_python_task, wskazuje, że to zadanie powinno uruchomić plik języka Python.

Jeśli spark_submit_task, wskazuje, że to zadanie powinno zostać uruchomione przez skrypt przesyłania platformy Spark.

Jeśli pipeline_task, wskazuje, że to zadanie powinno uruchomić potok Delta Live Tables.

Jeśli run_job_task, wskazuje, że to zadanie powinno uruchomić inne zadanie.
name STRING Opcjonalna nazwa zadania. Domyślna wartość to Untitled.
libraries Tablica biblioteki Opcjonalny list bibliotek do zainstalowania w klastrze, który wykona zadanie. Wartość domyślna to pusta list.
email_notifications JobEmailNotifications Opcjonalna set adresów e-mail powiadamianych o rozpoczęciu i zakończeniu uruchamiania tego zadania oraz po usunięciu tego zadania. Domyślne zachowanie polega na tym, aby nie wysyłać żadnych wiadomości e-mail.
webhook_notifications Elementy webhookNotifications Opcjonalna lista miejsc docelowych systemu set do powiadamiania o rozpoczęciu, zakończeniu lub niepowodzeniu tego zadania.
notification_settings JobNotificationSettings Opcjonalne ustawienia powiadomień używane podczas wysyłania powiadomień do każdego z elementów email_notifications i webhook_notifications dla tego zadania.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślne zachowanie polega na braku limitu czasu.
max_retries INT32 Opcjonalna maksymalna liczba ponownych prób nieudanego uruchomienia. Przebieg jest uznawany za nieudany FAILED , jeśli zakończy się z result_state lub
INTERNAL_ERROR
life_cycle_state. Wartość -1 oznacza ponowienie próby przez czas nieokreślony, a wartość 0 oznacza, że nigdy nie spróbuj ponownie. Domyślne zachowanie polega na tym, aby nigdy nie ponowić próby.
min_retry_interval_millis INT32 Opcjonalny minimalny interwał w milisekundach między rozpoczęciem nieudanego uruchomienia a kolejnym uruchomieniem ponawiania. Domyślne zachowanie polega na tym, że nieudane uruchomienia są natychmiast ponawiane.
retry_on_timeout BOOL Opcjonalne zasady określające, czy ponowić próbę wykonania zadania po upłynął limit czasu. Domyślne zachowanie polega na tym, aby nie ponawiać próby po przekroczeniu limitu czasu.
schedule CronSchedule Opcjonalny harmonogram okresowy dla tego zadania. Domyślne zachowanie polega na tym, że zadanie jest uruchamiane po wyzwoleniu, klikając pozycję Uruchom teraz w interfejsie użytkownika zadań lub wysyłając żądanie interfejsu API do runNow.
max_concurrent_runs INT32 Opcjonalna dozwolona maksymalna dozwolona liczba współbieżnych uruchomień zadania.

Set tę wartość, jeśli chcesz mieć możliwość współbieżnego wykonywania wielu uruchomień tego samego zadania. Jest to przydatne na przykład wtedy, gdy wyzwalasz zadanie zgodnie z częstym harmonogramem i chcesz zezwolić na nakładanie się kolejnych przebiegów na siebie nawzajem lub jeśli chcesz wyzwolić wiele przebiegów, które różnią się od ich danych wejściowych parameters.

To ustawienie ma wpływ tylko na nowe uruchomienia. Załóżmy na przykład, że współbieżność zadania wynosi 4 i istnieje 4 współbieżne aktywne uruchomienia. Następnie ustawienie współbieżności na 3 nie spowoduje zabicia żadnego z aktywnych przebiegów. Jednak od tego czasu nowe przebiegi są pomijane, chyba że istnieje mniej niż 3 aktywne uruchomienia.

Ta wartość nie może przekroczyć 1000. Ustawienie tej wartości na 0 powoduje pominięcie wszystkich nowych przebiegów. Domyślne zachowanie polega na zezwalaniu na uruchamianie tylko 1 współbieżne.

Struktura odpowiedzi

Nazwa pola Type Opis
job_id INT64 Kanoniczne identifier dla nowo utworzonego zadania.

List

Punkt końcowy Metoda HTTP
2.0/jobs/list GET

List wszystkie zadania.

Przykład

Żądanie

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

Zastąp <databricks-instance> ciąg nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Struktura odpowiedzi

Nazwa pola Type Opis
jobs Tablica zadań list zadań.

Usunąć

Punkt końcowy Metoda HTTP
2.0/jobs/delete POST

Usuń zadanie i wyślij wiadomość e-mail na adresy określone w pliku JobSettings.email_notifications. Nie ma żadnej akcji, jeśli zadanie zostało już usunięte. Po usunięciu zadania ani jego szczegóły ani historia uruchamiania nie są widoczne w interfejsie użytkownika lub interfejsie API zadań. Zadanie jest gwarantowane do usunięcia po zakończeniu tego żądania. Jednak przebiegi, które były aktywne przed otrzymaniem tego żądania, mogą być nadal aktywne. Zostaną one przerwane asynchronicznie.

Przykład

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

Wymiana:

W tym przykładzie jest używany plik .netrc .

Struktura żądań

Nazwa pola Type Opis
job_id INT64 Kanoniczna postać identifier zadania do usunięcia. To pole jest wymagane.

Get

Punkt końcowy Metoda HTTP
2.0/jobs/get GET

Pobieranie informacji o pojedynczym zadaniu.

Przykład

Żądanie

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

Lub:

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Struktura żądań

Nazwa pola Type Opis
job_id INT64 Kanoniczna identifier zadania w celu pobrania informacji. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Type Opis
job_id INT64 Kanoniczne identifier dla tego zadania.
creator_user_name STRING Nazwa użytkownika twórcy. To pole nie zostanie uwzględnione w odpowiedzi, jeśli użytkownik został usunięty.
settings Ustawienia zadań Ustawienia dla tego zadania i wszystkich jego przebiegów. Te ustawienia można zaktualizować przy użyciu punktów końcowych Reset lub Update.
created_time INT64 Czas utworzenia tego zadania w milisekundach epoki (w milisekundach od 1.1.1.1970 UTC).

Reset

Punkt końcowy Metoda HTTP
2.0/jobs/reset POST

Zastąp wszystkie ustawienia dla określonego zadania. Użyj punktu końcowego Update, aby częściowo ustawić update ustawienia zadania.

Przykład

To przykładowe żądanie powoduje, że zadanie 2 jest identyczne z zadaniem 1 w przykładzie tworzenia .

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Struktura żądań

Nazwa pola Type Opis
job_id INT64 Kanoniczna identifier zadania do reset. To pole jest wymagane.
new_settings Ustawienia zadań Nowe ustawienia zadania. Te ustawienia całkowicie zastępują stare ustawienia.

Zmiany w polu JobSettings.timeout_seconds są stosowane do aktywnych przebiegów. Zmiany w innych polach są stosowane tylko do przyszłych przebiegów.

Update

Punkt końcowy Metoda HTTP
2.0/jobs/update POST

Dodawanie, zmienianie lub remove określonych ustawień istniejącego zadania. Użyj punktu końcowego Reset, aby nadpisać wszystkie ustawienia zadania.

Przykład

To przykładowe żądanie usuwa biblioteki i dodaje ustawienia powiadomień e-mail do zadania 1 zdefiniowanego w przykładzie tworzenia .

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Struktura żądań

Nazwa pola Type Opis
job_id INT64 Kanoniczna identifier zadania do update. To pole jest wymagane.
new_settings Ustawienia zadań Nowe ustawienia zadania.

Pola najwyższego poziomu określone w new_settingselemecie , z wyjątkiem tablic, są całkowicie zastępowane. Tablice są scalane na podstawie odpowiednich pól kluczy, takich jak task_key lub
job_cluster_keyi wpisy tablicy z tym samym kluczem są całkowicie zastępowane. Z wyjątkiem scalania tablic, częściowe aktualizowanie zagnieżdżonych pól nie jest obsługiwane.

Zmiany w polu JobSettings.timeout_seconds są stosowane do aktywnych przebiegów. Zmiany w innych polach są stosowane tylko do przyszłych przebiegów.
fields_to_remove Tablica STRING Remove pola najwyższego poziomu w ustawieniach zadania. Usuwanie zagnieżdżonych pól nie jest obsługiwane, z wyjątkiem wpisów z tasks tablic i job_clusters . Na przykład następujący argument jest prawidłowym argumentem dla tego pola:
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

To pole jest opcjonalne.

Uruchom teraz

Ważne

  • Obszar roboczy jest ograniczony do 1000 współbieżnych uruchomień zadań. Odpowiedź 429 Too Many Requests jest zwracana po zażądaniu uruchomienia, gdy natychmiastowe uruchomienie nie jest możliwe.
  • Liczba zadań, które można utworzyć w obszarze roboczym w ciągu godziny, jest ograniczona do 10000 (obejmuje "przesyłanie przebiegów"). Ta limit również wpływa na miejsca pracy utworzone przez interfejs API REST i przepływy pracy notatnika.
  • Obszar roboczy może zawierać maksymalnie 12000 zapisanych zadań.
  • Zadanie może zawierać maksymalnie 100 zadań.
Punkt końcowy Metoda HTTP
2.0/jobs/run-now POST

Uruchom zadanie teraz i zwróć run_id wyzwalany przebieg.

Napiwek

Jeśli wywołasz Utwórz razem z Uruchom teraz, możesz użyć punktu końcowego przesyłania, co umożliwia bezpośrednie przesyłanie obciążenia bez having do utworzenia zadania.

Przykład

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

run-job.json:

Przykładowe żądanie zadania notesu:

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

Przykładowe żądanie zadania JAR:

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Struktura żądań

Nazwa pola Type Opis
job_id INT64
jar_params Tablica STRING list parameters dla zadań związanych z JAR, np. "jar_params": ["john doe", "35"]. parameters będzie używany do wywoływania głównej funkcji klasy głównej określonej w zadaniu Spark JAR. Jeśli nie zostanie określony podczas run-now, wartość domyślna będzie pusta list. nie można określić jar_params w połączeniu z notebook_params. Reprezentacja JSON tego pola (tj. {"jar_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.
notebook_params Mapa ParamPair Mapa kluczy do values dla zadań z notatnikiem, np.
"notebook_params": {"name": "john doe", "age": "35"}. Mapa jest przekazywana do notebooka i jest dostępna za pośrednictwem funkcji dbutils.widgets.get.

Jeśli nie zostanie określony podczas run-now, wyzwalany przebieg używa podstawowego parameterszadania .

Nie można określić notebook_params w połączeniu z jar_params.

Reprezentacja tego pola w formacie JSON (tj.
{"notebook_params":{"name":"john doe","age":"35"}}) nie może przekraczać 10 000 bajtów.
python_params Tablica STRING list parameters dla zadań z języka Python, np. "python_params": ["john doe", "35"]. parameters zostanie przekazany do pliku Pythona jako wiersz polecenia parameters. Jeśli określono run-now, zastąpi to parameters określone w ustawieniu zadania. Reprezentacja JSON tego pola (tj. {"python_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.
spark_submit_params Tablica STRING list parameters dla zadań z poleceniem "spark submit", np.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. parameters zostanie przekazany do skryptu spark-submit jako argument wiersza poleceń parameters. Jeśli określono run-now, zastąpi to parameters określone w ustawieniu zadania. Reprezentacja JSON tego pola nie może przekraczać 10 000 bajtów.
idempotency_token STRING Opcjonalny token gwarantujący idempotentność żądań uruchamiania zadania. Jeśli przebieg z podanym tokenem już istnieje, żądanie nie tworzy nowego przebiegu, ale zwraca identyfikator istniejącego przebiegu. Jeśli przebieg z podanym tokenem zostanie usunięty, zostanie zwrócony błąd.

Jeśli określisz token idempotentności, po niepowodzeniu możesz ponowić próbę, dopóki żądanie nie powiedzie się. Usługa Azure Databricks gwarantuje, że dokładnie jedno uruchomienie zostało uruchomione przy użyciu tego tokenu idempotentności.

Ten token musi zawierać co najwyżej 64 znaki.

Aby uzyskać więcej informacji, zobacz Jak zapewnić idempotentność zadań.

Struktura odpowiedzi

Nazwa pola Type Opis
run_id INT64 Globalnie unikatowy identyfikator nowo wyzwolonego przebiegu.
number_in_job INT64 Numer sekwencji tego przebiegu wśród wszystkich uruchomień zadania.

Przesyłanie przebiegów

Ważne

  • Obszar roboczy jest ograniczony do 1000 współbieżnych uruchomień zadań. Odpowiedź 429 Too Many Requests jest zwracana po zażądaniu uruchomienia, gdy natychmiastowe uruchomienie nie jest możliwe.
  • Liczba zadań, które można utworzyć w obszarze roboczym w ciągu godziny, jest ograniczona do 10000 (obejmuje "przesyłanie przebiegów"). Ta limit również wpływa na miejsca pracy utworzone przez interfejs API REST i przepływy pracy notatnika.
  • Obszar roboczy może zawierać maksymalnie 12000 zapisanych zadań.
  • Zadanie może zawierać maksymalnie 100 zadań.
Punkt końcowy Metoda HTTP
2.0/jobs/runs/submit POST

Prześlij jednorazowy przebieg. Ten punkt końcowy umożliwia bezpośrednie przesyłanie obciążenia bez tworzenia zadania. Użyj interfejsu jobs/runs/get API, aby sprawdzić stan uruchomienia po przesłaniu zadania.

Przykład

Żądanie

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

{
  "run_id": 123
}

Struktura żądań

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie Obliczeniowe zadania (zautomatyzowane) z cennikiem obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie obliczenia ogólnego przeznaczenia (interaktywne) z cennikiem obliczeń ogólnego przeznaczenia.
Nazwa pola Type Opis
existing_cluster_id LUB new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich uruchomień tego zadania. W przypadku uruchamiania zadań w istniejącym klastrze może być konieczne ręczne ponowne uruchomienie klastra, jeśli przestanie odpowiadać. Zalecamy uruchamianie zadań w nowych klastrach w celu zwiększenia niezawodności.

Jeśli new_cluster, opis klastra, który zostanie utworzony dla każdego przebiegu.

Jeśli określono wartość PipelineTask, to pole może być puste.
notebook_taskOR LUB spark_jar_task
spark_python_taskOR LUB spark_submit_task
pipeline_task LUB run_job_task
NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask LUB RunJobTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. Nie można określić tego pola w połączeniu z spark_jar_task.

Jeśli spark_jar_task, wskazuje, że to zadanie powinno uruchomić plik JAR.

Jeśli spark_python_task, wskazuje, że to zadanie powinno uruchomić plik języka Python.

Jeśli spark_submit_task, wskazuje, że to zadanie powinno zostać uruchomione przez skrypt przesyłania platformy Spark.

Jeśli pipeline_task, wskazuje, że to zadanie powinno uruchomić potok Delta Live Tables.

Jeśli run_job_task, wskazuje, że to zadanie powinno uruchomić inne zadanie.
run_name STRING Opcjonalna nazwa przebiegu. Domyślna wartość to Untitled.
webhook_notifications Elementy webhookNotifications Opcjonalna lista miejsc docelowych systemu set do powiadamiania o rozpoczęciu, zakończeniu lub niepowodzeniu tego zadania.
notification_settings JobNotificationSettings Opcjonalne ustawienia powiadomień używane podczas wysyłania powiadomień do każdego webhook_notifications z tych uruchomień.
libraries Tablica biblioteki Opcjonalny list bibliotek do zainstalowania w klastrze, który wykona zadanie. Wartość domyślna to pusta list.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślne zachowanie polega na braku limitu czasu.
idempotency_token STRING Opcjonalny token gwarantujący idempotentność żądań uruchamiania zadania. Jeśli przebieg z podanym tokenem już istnieje, żądanie nie tworzy nowego przebiegu, ale zwraca identyfikator istniejącego przebiegu. Jeśli przebieg z podanym tokenem zostanie usunięty, zostanie zwrócony błąd.

Jeśli określisz token idempotentności, po niepowodzeniu możesz ponowić próbę, dopóki żądanie nie powiedzie się. Usługa Azure Databricks gwarantuje, że dokładnie jedno uruchomienie zostało uruchomione przy użyciu tego tokenu idempotentności.

Ten token musi zawierać co najwyżej 64 znaki.

Aby uzyskać więcej informacji, zobacz Jak zapewnić idempotentność zadań.

Struktura odpowiedzi

Nazwa pola Type Opis
run_id INT64 Kanoniczne identifier dla nowo przesłanego przebiegu.

uruchamia list

Punkt końcowy Metoda HTTP
2.0/jobs/runs/list GET

List działa w kolejności malejącej według czasu rozpoczęcia.

Uwaga

Przebiegi są automatycznie usuwane po upływie 60 dni. Jeśli chcesz odwoływać się do nich po upływie 60 dni, przed ich wygaśnięciem należy zapisać stare wyniki uruchamiania. Aby wyeksportować przy użyciu interfejsu użytkownika, zobacz Eksportowanie wyników uruchamiania zadania. Aby wyeksportować przy użyciu interfejsu API zadań, zobacz Eksportowanie przebiegów.

Przykład

Żądanie

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 .

Lub:

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 .

Wymiana:

  • <databricks-instance>z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <job-id> z identyfikatorem zadania, na przykład 123.
  • "<true-false> z true lub false.
  • <offset> z wartością offset .
  • <limit> z wartością limit .
  • <run-type> z wartością run_type .

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Struktura żądań

Nazwa pola Type Opis
active_only LUB completed_only BOOL LUB BOOL Jeśli active_only to true, w wynikach są uwzględniane tylko aktywne uruchomienia. W przeciwnym razie są wyświetlane zarówno aktywne, jak i ukończone uruchomienia. Aktywne uruchomienie jest uruchomieniem w obiekcie PENDING, RUNNINGlub TERMINATINGRunLifecycleState. To pole nie może być true , gdy completed_only to true.

Jeśli completed_only to true, w wynikach są uwzględniane tylko ukończone przebiegi. W przeciwnym razie wyświetlane są zarówno aktywne, jak i ukończone uruchomienia. To pole nie może być true , gdy active_only to true.
job_id INT64 Zadanie, dla którego list jest uruchamiane. W przypadku pominięcia usługa Zadań list zostanie uruchomiona ze wszystkich zadań.
offset INT32 offset pierwszego przebiegu, który ma zostać zwrócony, względem ostatniego przebiegu.
limit INT32 Liczba przebiegów do zwrócenia. Ta wartość powinna być większa niż 0 i mniejsza niż 1000. Wartość domyślna to 20. Jeśli żądanie określa limit jako 0, usługa zamiast tego wykorzysta maksymalne limit.
run_type STRING Typ przebiegów do zwrócenia. Opis typów przebiegów można znaleźć w temacie Run (Uruchamianie).

Struktura odpowiedzi

Nazwa pola Type Opis
runs Tablica przebiegów list przebiegów, od ostatniego uruchomienia do najmniejszego.
has_more BOOL Jeśli wartość true, dodatkowe uruchomienia pasujące do podanego filtru są dostępne do wyświetlania listy.

uruchamia get

Punkt końcowy Metoda HTTP
2.0/jobs/runs/get GET

Pobieranie metadanych przebiegu.

Uwaga

Przebiegi są automatycznie usuwane po upływie 60 dni. Jeśli chcesz odwoływać się do nich po upływie 60 dni, przed ich wygaśnięciem należy zapisać stare wyniki uruchamiania. Aby wyeksportować przy użyciu interfejsu użytkownika, zobacz Eksportowanie wyników uruchamiania zadania. Aby wyeksportować przy użyciu interfejsu API zadań, zobacz Eksportowanie przebiegów.

Przykład

Żądanie

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

Lub:

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Struktura żądań

Nazwa pola Type Opis
run_id INT64 Kanoniczny numer identifier przebiegu, dla którego mają zostać pobrane metadane. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Type Opis
job_id INT64 Kanoniczny identyfikator identifier zadania, które zawiera ten przebieg.
run_id INT64 Kanoniczna identifier przebiegu. Ten identyfikator jest unikatowy we wszystkich uruchomieniach wszystkich zadań.
number_in_job INT64 Numer sekwencji tego przebiegu wśród wszystkich uruchomień zadania. Ta wartość zaczyna się od 1.
original_attempt_run_id INT64 Jeśli ten przebieg jest ponowną próbą wcześniejszej próby uruchomienia, to pole zawiera run_id oryginalnej próby; w przeciwnym razie jest taka sama jak run_id.
state RunState Wyniki i stany cyklu życia przebiegu.
schedule CronSchedule Harmonogram cron, który wyzwolił to uruchomienie, jeśli został wyzwolony przez harmonogram okresowy.
task ZadanieTask Zadanie wykonywane przez przebieg, jeśli istnieje.
cluster_spec ClusterSpec Migawka specyfikacji klastra zadania podczas tworzenia tego przebiegu.
cluster_instance Klasa ClusterInstance Klaster używany na potrzeby tego przebiegu. Jeżeli zostanie określone użycie nowego klastra, to pole będzie miało wartość set po złożeniu żądania klastra dla uruchomienia przez Usługę Zadań.
overriding_parameters RunParameters parameters używany na potrzeby tego przebiegu.
start_time INT64 Czas rozpoczęcia tego przebiegu w milisekundach epoki (milisekundy od 1.1.1.1970 UTC). Może to nie być czas rozpoczęcia wykonywania zadania zadania, na przykład jeśli zadanie zostało zaplanowane do uruchomienia w nowym klastrze, jest to czas, w którym zostanie wydane wywołanie tworzenia klastra.
end_time INT64 Czas, w którym ten przebieg zakończył się w milisekundach epoki (milisekundy od 1/1/1970 UTC). To pole będzie miał wartość od set do 0, jeśli zadanie jest nadal w toku.
setup_duration INT64 Czas w milisekundach, który zajęło set w klastrze. W przypadku przebiegów uruchamianych w nowych klastrach jest to czas tworzenia klastra, w przypadku przebiegów uruchamianych w istniejących klastrach tym razem powinno być bardzo krótkie. Łączny czas trwania przebiegu to suma wartości setup_duration,
execution_durationi cleanup_duration. Pole setup_duration jest set do 0 w przypadku uruchamiania zadań wielotaskowych. Łączny czas trwania uruchomienia zadania wielotaskowego to wartość
run_duration pole.
execution_duration INT64 Czas w milisekundach, który trwał, aby wykonać polecenia w pliku JAR lub notesie, dopóki nie zostały ukończone, zakończone niepowodzeniem, upłynął limit czasu, zostały anulowane lub napotkały nieoczekiwany błąd. Łączny czas trwania przebiegu to suma setup_durationwartości , execution_durationi
cleanup_duration. Pole execution_duration jest set do 0 w przypadku uruchamiania zadań wielotaskowych. Łączny czas trwania uruchomienia zadania wielotaskowego to wartość run_duration pola.
cleanup_duration INT64 Czas w milisekundach, który trwał, aby zakończyć działanie klastra i wyczyścić wszystkie skojarzone artefakty. Łączny czas trwania przebiegu to suma wartości setup_duration, execution_durationi cleanup_duration. Pole cleanup_duration jest set do 0 w przypadku uruchamiania zadań wielotaskowych. Łączny czas trwania uruchomienia zadania wielotaskowego to wartość run_duration pola.
run_duration INT64 Czas w milisekundach zajęł uruchomienie zadania i wszystkie jego naprawy do zakończenia. To pole jest wypełniane tylko przez set podczas wykonywania zadań wielotaskowych, a nie podczas wykonywania zadań. Czas trwania przebiegu zadania jest sumą
setup_duration, execution_durationi cleanup_duration.
trigger Typ wyzwalacza Typ wyzwalacza, który uruchomił ten przebieg.
creator_user_name STRING Nazwa użytkownika twórcy. To pole nie zostanie uwzględnione w odpowiedzi, jeśli użytkownik został usunięty
run_page_url STRING Adres URL strony szczegółów przebiegu.

Uruchamia eksportowanie

Punkt końcowy Metoda HTTP
2.0/jobs/runs/export GET

Wyeksportuj i pobierz zadanie uruchomienia zadania.

Uwaga

Tylko uruchomienia notesu można eksportować w formacie HTML. Eksportowanie przebiegów innych typów zakończy się niepowodzeniem.

Przykład

Żądanie

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

Lub:

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Aby wyodrębnić notes HTML z odpowiedzi JSON, pobierz i uruchom ten skrypt języka Python.

Uwaga

Treść notesu __DATABRICKS_NOTEBOOK_MODEL w obiekcie jest zakodowana.

Struktura żądań

Nazwa pola Type Opis
run_id INT64 Kanoniczne identifier dla przebiegu. To pole jest wymagane.
views_to_export ViewsToExport Który views wyeksportować (KOD, PULPITY lub WSZYSTKIE). Wartości domyślne to CODE.

Struktura odpowiedzi

Nazwa pola Type Opis
views Tablica elementu ViewItem Wyeksportowana zawartość w formacie HTML (jedna dla każdego elementu widoku).

Anulowanie przebiegów

Punkt końcowy Metoda HTTP
2.0/jobs/runs/cancel POST

Anuluj uruchomienie zadania. Ponieważ przebieg jest anulowany asynchronicznie, uruchomienie może być nadal uruchomione po zakończeniu tego żądania. Uruchomienie zostanie wkrótce zakończone. Jeśli przebieg znajduje się już w terminalu life_cycle_state, ta metoda jest metodą no-op.

Ten punkt końcowy sprawdza, czy parametr run_id jest prawidłowy i dla nieprawidłowego parameters zwraca kod stanu HTTP 400.

Przykład

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

Wymiana:

W tym przykładzie jest używany plik .netrc .

Struktura żądań

Nazwa pola Type Opis
run_id INT64 Kanoniczny identyfikator identifier przebiegu do anulowania. To pole jest wymagane.

Przebiegi anulują wszystkie

Punkt końcowy Metoda HTTP
2.0/jobs/runs/cancel-all POST

Anuluj wszystkie aktywne uruchomienia zadania. Ponieważ przebieg jest anulowany asynchronicznie, nie zapobiega uruchamianiu nowych przebiegów.

Ten punkt końcowy sprawdza, czy parametr job_id jest prawidłowy i dla nieprawidłowego parameters zwraca kod stanu HTTP 400.

Przykład

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

Wymiana:

W tym przykładzie jest używany plik .netrc .

Struktura żądań

Nazwa pola Type Opis
job_id INT64 Kanoniczna identifier zadania w celu anulowania wszystkich przebiegów. To pole jest wymagane.

uruchamia dane wyjściowe get

Punkt końcowy Metoda HTTP
2.0/jobs/runs/get-output GET

Pobieranie danych wyjściowych i metadanych pojedynczego uruchomienia zadania. Gdy zadanie notesu zwraca wartość za pośrednictwem wywołania dbutils.notebook.exit(), możesz użyć tego punktu końcowego do pobrania tej wartości. Usługa Azure Databricks ogranicza ten interfejs API do zwrócenia pierwszych 5 MB danych wyjściowych. Aby zwrócić większy wynik, możesz przechowywać wyniki zadania w usłudze magazynu w chmurze.

Ten punkt końcowy sprawdza, czy parametr run_id jest prawidłowy i dla nieprawidłowego parameters zwraca kod stanu HTTP 400.

Przebiegi są automatycznie usuwane po upływie 60 dni. Jeśli chcesz odwoływać się do nich po upływie 60 dni, przed ich wygaśnięciem należy zapisać stare wyniki uruchamiania. Aby wyeksportować przy użyciu interfejsu użytkownika, zobacz Eksportowanie wyników uruchamiania zadania. Aby wyeksportować przy użyciu interfejsu API zadań, zobacz Eksportowanie przebiegów.

Przykład

Żądanie

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

Lub:

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

Wymiana:

W tym przykładzie jest używany plik .netrc i plik jq.

Response

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

Struktura żądań

Nazwa pola Type Opis
run_id INT64 Kanoniczne identifier dla przebiegu. W przypadku zadania z zadaniami wyciszenia jest run_id to zadanie podrzędne. Zobacz przebiegi get wynik. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Type Opis
notebook_output LUB error NotesOutput LUB STRING Jeśli notebook_output, dane wyjściowe zadania notesu, jeśli są dostępne. Zadanie notesu, które kończy się (pomyślnie lub z błędem) bez wywoływania
dbutils.notebook.exit() jest uważany za puste dane wyjściowe. To pole będzie set, ale jego wartość wyniku będzie pusta.

Jeśli błąd, komunikat o błędzie wskazujący, dlaczego dane wyjściowe są niedostępne. Komunikat jest nieustrukturyzowany, a jego dokładny format może ulec zmianie.
metadata Run Wszystkie szczegóły przebiegu z wyjątkiem jego danych wyjściowych.

Przebiegi usuwania

Punkt końcowy Metoda HTTP
2.0/jobs/runs/delete POST

Usuń nieaktywny przebieg. Zwraca błąd, jeśli przebieg jest aktywny.

Przykład

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

Wymiana:

W tym przykładzie jest używany plik .netrc .

Struktura żądań

Nazwa pola Type Opis
run_id INT64 Kanoniczny numer identifier przebiegu, dla którego mają zostać pobrane metadane.

Struktury danych

W tej sekcji:

ABFSSStorageInfo

Informacje o magazynie usługi Azure Data Lake Storage (ADLS).

Nazwa pola Type Opis
destination STRING Miejsce docelowe pliku. Przykład: abfss://...

Autoskaluj

Zakres definiujący minimalną i maksymalną liczbę procesów roboczych klastra.

Nazwa pola Type Opis
min_workers INT32 Minimalna liczba procesów roboczych, do których klaster może być skalowany w dół, gdy nie jest wykorzystywana. Jest to również początkowa liczba procesów roboczych, które klaster będzie miał po utworzeniu.
max_workers INT32 Maksymalna liczba procesów roboczych, do których klaster może być skalowany w górę po przeciążeniu. max_workers musi być ściśle większa niż min_workers.

AzureAttributes

Atrybuty set podczas tworzenia klastra powiązanego z platformą Azure.

Nazwa pola Type Opis
first_on_demand INT32 Pierwsze first_on_demand węzły klastra zostaną umieszczone na wystąpieniach na żądanie. Ta wartość musi być większa niż 0 lub w przeciwnym razie sprawdzanie poprawności tworzenia klastra kończy się niepowodzeniem. Jeśli ta wartość jest większa lub równa bieżącemu rozmiarowi klastra, wszystkie węzły zostaną umieszczone na wystąpieniach na żądanie. Jeśli ta wartość jest mniejsza niż bieżący rozmiar klastra, first_on_demand węzły zostaną umieszczone na wystąpieniach na żądanie, a reszta zostanie umieszczona w wystąpieniach dostępności. Ta wartość nie ma wpływu na rozmiar klastra i nie może być zmutowana w okresie istnienia klastra.
availability AzureAvailability Typ dostępności używany dla wszystkich kolejnych węzłów obok first_on_demand tych.
spot_bid_max_price DOUBLE Maksymalna cena oferty używana dla wystąpień typu spot platformy Azure. Możesz set ustawić jako większe lub równe bieżącej cenie rynkowej spot. Można również ustawić set na -1 (wartość domyślna), co określa, że instancja nie może być eksmitowana na podstawie opłaty. Cena wystąpienia będzie bieżącą ceną wystąpień typu spot lub ceną wystąpienia standardowego. Możesz wyświetlić historyczne ceny i stawki eksmisji w witrynie Azure Portal.

AzureAvailability

Zachowanie typu dostępności wystąpienia platformy Azure.

Type Opis
SPOT_AZURE Użyj wystąpień typu spot.
ON_DEMAND_AZURE Użyj wystąpień na żądanie.
SPOT_WITH_FALLBACK_AZURE Najlepiej używać wystąpień typu spot, ale wróć do wystąpień na żądanie, jeśli nie można uzyskać wystąpień typu spot (na przykład jeśli ceny typu spot platformy Azure są zbyt wysokie lub poza limitem przydziału). Nie dotyczy dostępności puli.

Klasa ClusterInstance

Identyfikatory dla klastra i kontekstu spark używanego przez przebieg. Te dwa values razem identyfikują kontekst wykonywania przez cały czas.

Nazwa pola Type Opis
cluster_id STRING Kanoniczne identifier dla klastra używanego przez to uruchomienie. To pole jest zawsze dostępne dla przebiegów w istniejących klastrach. W przypadku przebiegów w nowych klastrach staje się on dostępny po utworzeniu klastra. Ta wartość może służyć do wyświetlania dzienników, przechodząc do /#setting/sparkui/$cluster_id/driver-logsstrony . Dzienniki będą nadal dostępne po zakończeniu przebiegu.

Odpowiedź nie będzie zawierać tego pola, jeśli identifier nie jest jeszcze dostępna.
spark_context_id STRING Kanoniczna identifier kontekstu platformy Spark używanego przez przebieg. To pole zostanie wypełnione po rozpoczęciu wykonywania przebiegu. Ta wartość może służyć do wyświetlania interfejsu użytkownika platformy Spark, przechodząc do /#setting/sparkui/$cluster_id/$spark_context_idstrony . Interfejs użytkownika platformy Spark będzie nadal dostępny po zakończeniu przebiegu.

Odpowiedź nie będzie zawierać tego pola, jeśli identifier nie jest jeszcze dostępna.

ClusterLogConf

Ścieżka do dziennika klastra.

Nazwa pola Type Opis
dbfs Lokalizacja dbFS dziennika klastra. Należy podać miejsce docelowe. Na przykład { "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie Obliczeniowe zadania (zautomatyzowane) z cennikiem obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie obliczenia ogólnego przeznaczenia (interaktywne) z cennikiem obliczeń ogólnego przeznaczenia.
Nazwa pola Type Opis
existing_cluster_id LUB new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich uruchomień tego zadania. W przypadku uruchamiania zadań w istniejącym klastrze może być konieczne ręczne ponowne uruchomienie klastra, jeśli przestanie odpowiadać. Zalecamy uruchamianie zadań w nowych klastrach w celu zwiększenia niezawodności.

Jeśli new_cluster, opis klastra, który zostanie utworzony dla każdego przebiegu.

Jeśli określono wartość PipelineTask, to pole może być puste.
libraries Tablica biblioteki Opcjonalny list bibliotek do zainstalowania w klastrze, który wykona zadanie. Wartość domyślna to pusta list.

ClusterTag

Definicja tagu klastra.

Type Opis
STRING Klucz tagu. Klucz musi:

- Długość od 1 do 512 znaków
- Nie zawiera żadnego z znaków <>%*&+?\\/
- Nie zaczyna się od azure, microsoftlub windows
STRING Wartość tagu. Długość wartości musi być mniejsza lub równa 256 znakom UTF-8.

CronSchedule

Nazwa pola Type Opis
quartz_cron_expression STRING Wyrażenie Cron używające składni kwarcowej opisujące harmonogram zadania. Aby uzyskać szczegółowe informacje, zobacz Wyzwalacz Cron. To pole jest wymagane.
timezone_id STRING Identyfikator Java timezone. Plan zadania zostanie ustalony w odniesieniu do tego timezone. Aby uzyskać szczegółowe informacje, zobacz Java TimeZone. To pole jest wymagane.
pause_status STRING Określ, czy ten harmonogram jest wstrzymany, czy nie. "WSTRZYMANO" lub "UNPAUSED".

DbfsStorageInfo

Informacje o magazynie SYSTEMU PLIKÓW DBFS.

Nazwa pola Type Opis
destination STRING Miejsce docelowe SYSTEMU PLIKÓW DBFS. Przykład: dbfs:/my/path

FileStorageInfo

Informacje o magazynie plików.

Uwaga

Ten typ lokalizacji jest dostępny tylko dla klastrów set przy użyciu usługi Databricks Container Services.

Nazwa pola Type Opis
destination STRING Miejsce docelowe pliku. Przykład: file:/my/file.sh

InitScriptInfo

Ścieżka do skryptu init.

Aby uzyskać instrukcje dotyczące używania skryptów inicjowania w usługach Kontener Services usługi Databricks, zobacz Używanie skryptu inicjowania.

Uwaga

Typ magazynu plików (nazwa pola: file) jest dostępny tylko dla klastrów set przy użyciu usług Databricks Container Services. Zobacz FileStorageInfo.

Nazwa pola Type Opis
workspace OR dbfs (niezalecane)

OR abfss
WorkspaceStorageInfo

DbfsStorageInfo (przestarzałe)

ABFSSStorageInfo
Lokalizacja obszaru roboczego skryptu inicjowania. Należy podać miejsce docelowe. Na przykład:
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(Przestarzałe) Lokalizacja dbFS skryptu init. Należy podać miejsce docelowe. Na przykład:
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

Lokalizacja skryptu inicjowania usługi Azure Data Lake Storage (ADLS). Należy podać miejsce docelowe. Na przykład { "abfss": { "destination" : "abfss://..." } }

Zadanie

Nazwa pola Type Opis
job_id INT64 Kanoniczne identifier dla tego zadania.
creator_user_name STRING Nazwa użytkownika twórcy. To pole nie zostanie uwzględnione w odpowiedzi, jeśli użytkownik został już usunięty.
run_as STRING Nazwa użytkownika, w ramach którego zostanie uruchomione zadanie. run_as jest oparta na bieżących ustawieniach zadania i jest set do twórcy zadania, jeśli kontrola dostępu do zadania jest wyłączona, lub uprawnienia is_owner, jeśli kontrola dostępu do zadań jest włączona.
settings Ustawienia zadań Ustawienia dla tego zadania i wszystkich jego przebiegów. Te ustawienia można zaktualizować przy użyciu resetJob metody .
created_time INT64 Czas utworzenia tego zadania w milisekundach epoki (w milisekundach od 1.1.1.1970 UTC).

JobEmailNotifications

Ważne

Pola on_start, on_success i on_failure akceptują tylko znaki łacińskie (znak ASCII set). Użycie znaków innych niż ASCII zwróci błąd. Przykłady nieprawidłowych znaków innych niż ASCII to chiński, japoński kanjis i emoji.

Nazwa pola Type Opis
on_start Tablica STRING list adresów e-mail, które mają być powiadamiane o rozpoczęciu przebiegu. Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane.
on_success Tablica STRING list adresów e-mail, które zostaną powiadomione po pomyślnym zakończeniu procesu. Przebieg jest uznawany za zakończony pomyślnie, jeśli kończy się elementem TERMINATEDlife_cycle_state i .SUCCESSFULresult_state Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane.
on_failure Tablica STRING list adresów e-mail, które mają być powiadamiane, gdy proces zakończy się niepowodzeniem. Przebieg jest uznawany za zakończony niepowodzeniem, jeśli kończy się na INTERNAL_ERROR
life_cycle_state SKIPPEDlub , FAILEDlub TIMED_OUT result_state. Jeśli ta wartość nie zostanie określona podczas tworzenia zadania, resetlub updatelist jest pusta, a powiadomienia nie są wysyłane.
on_duration_warning_threshold_exceeded Tablica STRING list adresów e-mail, które mają być powiadamiane, gdy czas trwania przebiegu przekracza próg określony dla metryki RUN_DURATION_SECONDS w polu health. Jeśli w polu zadania nie określono RUN_DURATION_SECONDS żadnej reguły dla health metryki, powiadomienia nie są wysyłane.
no_alert_for_skipped_runs BOOL Jeżeli to prawda, nie wysyłaj wiadomości e-mail do recipients określonego w on_failure, jeśli przebieg zostanie pominięty.
Nazwa pola Type Opis
on_start Tablica elementów webhook Opcjonalna list systemowych miejsc docelowych, które mają być powiadomione o rozpoczęciu przebiegu. Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_start maksymalnie 3 miejsca docelowe.
on_success Tablica elementów webhook Opcjonalne list lokalizacje docelowe systemu, które mają zostać powiadomione po pomyślnym zakończeniu uruchomienia. Przebieg jest uznawany za zakończony pomyślnie, jeśli kończy się elementem TERMINATEDlife_cycle_state i .SUCCESSFULresult_state Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_success maksymalnie 3 miejsca docelowe.
on_failure Tablica elementów webhook Opcjonalna list lokalizacji docelowych systemu, która ma zostać powiadomiona, gdy przebieg zakończy się niepowodzeniem. Przebieg jest uznawany za zakończony niepowodzeniem, jeśli kończy się na INTERNAL_ERROR
life_cycle_state SKIPPEDlub , FAILEDlub TIMED_OUT result_state. Jeśli ta wartość nie zostanie określona podczas tworzenia zadania, resetlub updatelist jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_failure maksymalnie 3 miejsca docelowe.
on_duration_warning_threshold_exceeded Tablica elementów webhook Opcjonalne list lokalizacji docelowych systemu, które mają być powiadamiane, gdy czas trwania przebiegu przekracza próg określony dla metryki RUN_DURATION_SECONDS w polu health. Dla właściwości można określić on_duration_warning_threshold_exceeded maksymalnie 3 miejsca docelowe.

JobNotificationSettings

Nazwa pola Type Opis
no_alert_for_skipped_runs BOOL Jeśli warunek jest prawdziwy, nie wysyłaj powiadomień do recipients wskazanych w on_failure, jeśli przebieg zostanie pominięty.
no_alert_for_canceled_runs BOOL Jeśli to prawda, nie wysyłaj powiadomień do recipients określonego w on_failure, jeśli przebieg zostanie anulowany.
alert_on_last_attempt BOOL Jeśli to prawda, nie wysyłaj powiadomień do recipients określonych w on_start dla ponawianych przebiegów i nie wysyłaj powiadomień do recipients określonych w on_failure aż do ostatniej próby uruchomienia.

Ustawienia zadań

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie Obliczeniowe zadania (zautomatyzowane) z cennikiem obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie obliczenia ogólnego przeznaczenia (interaktywne) z cennikiem obliczeń ogólnego przeznaczenia.

Ustawienia zadania. Te ustawienia można zaktualizować przy użyciu resetJob metody .

Nazwa pola Type Opis
existing_cluster_id LUB new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich uruchomień tego zadania. W przypadku uruchamiania zadań w istniejącym klastrze może być konieczne ręczne ponowne uruchomienie klastra, jeśli przestanie odpowiadać. Zalecamy uruchamianie zadań w nowych klastrach w celu zwiększenia niezawodności.

Jeśli new_cluster, opis klastra, który zostanie utworzony dla każdego przebiegu.

Jeśli określono wartość PipelineTask, to pole może być puste.
notebook_taskOR LUB spark_jar_task
spark_python_taskOR LUB spark_submit_task
pipeline_task LUB run_job_task
NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask LUB RunJobTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. Nie można określić tego pola w połączeniu z spark_jar_task.

Jeśli spark_jar_task, wskazuje, że to zadanie powinno uruchomić plik JAR.

Jeśli spark_python_task, wskazuje, że to zadanie powinno uruchomić plik języka Python.

Jeśli spark_submit_task, wskazuje, że to zadanie powinno zostać uruchomione przez skrypt przesyłania platformy Spark.

Jeśli pipeline_task, wskazuje, że to zadanie powinno uruchomić potok Delta Live Tables.

Jeśli run_job_task, wskazuje, że to zadanie powinno uruchomić inne zadanie.
name STRING Opcjonalna nazwa zadania. Domyślna wartość to Untitled.
libraries Tablica biblioteki Opcjonalny list bibliotek do zainstalowania w klastrze, który wykona zadanie. Wartość domyślna to pusta list.
email_notifications JobEmailNotifications Opcjonalna set adresów e-mail, które będą powiadamiane o rozpoczęciu lub ukończeniu tego zadania, a także po usunięciu tego zadania. Domyślne zachowanie polega na tym, aby nie wysyłać żadnych wiadomości e-mail.
webhook_notifications Elementy webhookNotifications Opcjonalna lista miejsc docelowych systemu set do powiadamiania o rozpoczęciu, zakończeniu lub niepowodzeniu tego zadania.
notification_settings JobNotificationSettings Opcjonalne ustawienia powiadomień używane podczas wysyłania powiadomień do każdego z elementów email_notifications i webhook_notifications dla tego zadania.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślne zachowanie polega na braku limitu czasu.
max_retries INT32 Opcjonalna maksymalna liczba ponownych prób nieudanego uruchomienia. Przebieg jest uznawany za nieudany FAILED , jeśli zakończy się z result_state lub
INTERNAL_ERROR
life_cycle_state. Wartość -1 oznacza ponowienie próby przez czas nieokreślony, a wartość 0 oznacza, że nigdy nie spróbuj ponownie. Domyślne zachowanie polega na tym, aby nigdy nie ponowić próby.
min_retry_interval_millis INT32 Opcjonalny minimalny interwał w milisekundach między próbami. Domyślne zachowanie polega na tym, że nieudane uruchomienia są natychmiast ponawiane.
retry_on_timeout BOOL Opcjonalne zasady określające, czy ponowić próbę wykonania zadania po upłynął limit czasu. Domyślne zachowanie polega na tym, aby nie ponawiać próby po przekroczeniu limitu czasu.
schedule CronSchedule Opcjonalny harmonogram okresowy dla tego zadania. Domyślne zachowanie polega na tym, że zadanie będzie uruchamiane tylko po wyzwoleniu, klikając pozycję "Uruchom teraz" w interfejsie użytkownika zadań lub wysyłając żądanie interfejsu API do
runNow.
max_concurrent_runs INT32 Opcjonalna dozwolona maksymalna dozwolona liczba współbieżnych uruchomień zadania.

Set tę wartość, jeśli chcesz mieć możliwość współbieżnego wykonywania wielu uruchomień tego samego zadania. Jest to przydatne na przykład wtedy, gdy wyzwalasz zadanie zgodnie z częstym harmonogramem i chcesz zezwolić na nakładanie się kolejnych przebiegów na siebie nawzajem lub jeśli chcesz wyzwolić wiele przebiegów, które różnią się od ich danych wejściowych parameters.

To ustawienie ma wpływ tylko na nowe uruchomienia. Załóżmy na przykład, że współbieżność zadania wynosi 4 i istnieje 4 współbieżne aktywne uruchomienia. Następnie ustawienie współbieżności na 3 nie spowoduje zabicia żadnego z aktywnych przebiegów. Jednak od tego czasu nowe uruchomienia zostaną pominięte, chyba że istnieje mniej niż 3 aktywne uruchomienia.

Ta wartość nie może przekroczyć 1000. Ustawienie tej wartości na 0 powoduje pominięcie wszystkich nowych przebiegów. Domyślne zachowanie polega na zezwalaniu na uruchamianie tylko 1 współbieżne.
health ZadaniaHealthRules Opcjonalna set zasad dotyczących zdrowia zdefiniowanych dla pracy.

ZadanieTask

Nazwa pola Type Opis
notebook_taskOR LUB spark_jar_task
spark_python_taskOR LUB spark_submit_task
pipeline_task LUB run_job_task
NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask LUB RunJobTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. Nie można określić tego pola w połączeniu z spark_jar_task.

Jeśli spark_jar_task, wskazuje, że to zadanie powinno uruchomić plik JAR.

Jeśli spark_python_task, wskazuje, że to zadanie powinno uruchomić plik języka Python.

Jeśli spark_submit_task, wskazuje, że to zadanie powinno zostać uruchomione przez skrypt przesyłania platformy Spark.

Jeśli pipeline_task, wskazuje, że to zadanie powinno uruchomić potok Delta Live Tables.

Jeśli run_job_task, wskazuje, że to zadanie powinno uruchomić inne zadanie.

ZadaniaHealthRule

Nazwa pola Type Opis
metric STRING Określa metrykę kondycji, która jest oceniana dla określonej reguły kondycji. Prawidłowe values są RUN_DURATION_SECONDS.
operator STRING Określa operator używany do porównywania wartości metryki kondycji z określonym progiem. Prawidłowe values są GREATER_THAN.
value INT32 Określa wartość progową, którą metryka kondycji powinna spełniać w celu zachowania zgodności z regułą kondycji.

ZadaniaHealthRules

Nazwa pola Type Opis
rules Tablica zadańHealthRule Opcjonalna set reguł zdrowotnych, które można zdefiniować dla zadania.

Biblioteka

Nazwa pola Type Opis
jarLUB LUB eggwhl
pypiOR LUB mavencran
STRINGLUB STRINGSTRINGLUB PythonPyPiLibrary LUB MavenLibrary LUB RCranLibrary Jeśli plik jar, identyfikator URI pliku JAR do zainstalowania. Obsługiwane są identyfikatory URI systemu plików DBFS i ADLS (abfss). Na przykład: { "jar": "dbfs:/mnt/databricks/library.jar" } lub
{ "jar": "abfss://<container-path>/library.jar" }. Jeśli usługa ADLS jest używana, upewnij się, że klaster ma dostęp do odczytu w bibliotece.

Jeśli jajko, identyfikator URI jaja do zainstalowania. Obsługiwane są identyfikatory URL systemu plików DBFS i ADLS. Na przykład: { "egg": "dbfs:/my/egg" } lub
{ "egg": "abfss://<container-path>/egg" }.

Jeśli whl, identyfikator URI wheel pliku lub spakowanego wheels do zainstalowania. Obsługiwane są identyfikatory URL systemu plików DBFS i ADLS. Na przykład: { "whl": "dbfs:/my/whl" } lub
{ "whl": "abfss://<container-path>/whl" }. Jeśli usługa ADLS jest używana, upewnij się, że klaster ma dostęp do odczytu w bibliotece. wheel Ponadto nazwa pliku musi używać poprawnej konwencji. Jeśli plik zip ma wheels zostać zainstalowany, sufiks nazwy pliku powinien mieć wartość .wheelhouse.zip.

Jeśli pypi, specyfikacja biblioteki PyPI, która ma zostać zainstalowana. Określenie repo pola jest opcjonalne i jeśli nie zostanie określone, zostanie użyty domyślny indeks. Na przykład:
{ "package": "simplejson", "repo": "https://my-repo.com" }

Jeśli maven, specyfikacja biblioteki Maven do zainstalowania. Na przykład:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

Jeśli jest to cran, specyfikacja biblioteki CRAN, która ma zostać zainstalowana.

MavenLibrary

Nazwa pola Type Opis
coordinates STRING Współrzędne narzędzia Maven w stylu Gradle. Na przykład: org.jsoup:jsoup:1.7.2. To pole jest wymagane.
repo STRING Repozytorium Maven do zainstalowania pakietu Maven z programu . W przypadku pominięcia przeszukiwane są zarówno centralne repozytorium Maven, jak i pakiety Spark.
exclusions Tablica STRING List zależności do wykluczenia. Na przykład: ["slf4j:slf4j", "*:hadoop-client"].

Wykluczenia zależności narzędzia Maven: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

Nazwa pola Type Opis
num_workers LUB autoscale INT32 OR Autoskaluj Jeśli num_workers, liczba węzłów roboczych, które powinien mieć ten klaster. Klaster ma jeden sterownik Spark i num_workers funkcji wykonawczych dla łącznie num_workers i 1 węzłów platformy Spark.

Uwaga: podczas odczytywania właściwości klastra to pole odzwierciedla żądaną liczbę procesów roboczych, a nie rzeczywistą bieżącą liczbę procesów roboczych. Na przykład jeśli rozmiar klastra zostanie zmieniony z 5 na 10 procesów roboczych, to pole zostanie natychmiast zaktualizowane w celu odzwierciedlenia docelowego rozmiaru 10 procesów roboczych, natomiast pracownicy wymienieni w spark_info stopniowo rosną z 5 do 10 w miarę aprowizacji nowych węzłów.

Gdy włączone jest automatyczne skalowanie, parameters jest potrzebne do automatycznego dostosowywania klastrów w górę i w dół na podstawie obciążenia.
spark_version STRING Wersja platformy Spark klastra. dostępnych wersji platformy Spark można pobrać przy użyciu wywołania 2.0/clusters/spark-versions. To pole jest wymagane.
spark_conf SparkConfPair Obiekt zawierający opcjonalne pary klucz-wartość konfiguracji Spark określone przez użytkownika set. Możesz również przekazać ciąg dodatkowych opcji JVM do sterownika i funkcji wykonawczych za pośrednictwem polecenia
spark.driver.extraJavaOptions i spark.executor.extraJavaOptions odpowiednio.

Przykładowe ograniczenia platformy Spark:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} lub
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING To pole koduje za pomocą jednej wartości zasoby dostępne dla każdego z węzłów platformy Spark w tym klastrze. Na przykład, węzły Spark można przygotować i zoptymalizować pod kątem intensywnych obciążeń pamięciowych lub obliczeniowych. list dostępnych typów węzłów można pobrać przy użyciu wywołania API GET 2.0/klastrów/list-node-types. To pole, instance_pool_id pole lub zasady klastra, które określają identyfikator typu węzła lub identyfikator puli wystąpień, jest wymagane.
driver_node_type_id STRING Typ węzła sterownika spark. To pole jest opcjonalne; jeśli nie ustawiono, typ węzła sterownika jest set taka sama wartość jak node_type_id zdefiniowana powyżej.
custom_tags ClusterTag Obiekt zawierający set tagów dla zasobów klastra. Usługa Databricks taguje wszystkie zasoby klastra (takie jak maszyny wirtualne) przy użyciu tych tagów oprócz default_tags.

Uwaga:

— Tagi nie są obsługiwane w starszych typach węzłów, takich jak zoptymalizowane pod kątem obliczeń i zoptymalizowane pod kątem pamięci
— Usługa Databricks zezwala na co najwyżej 45 tagów niestandardowych
cluster_log_conf ClusterLogConf Konfiguracja dostarczania dzienników platformy Spark do długoterminowego miejsca docelowego magazynu. Dla jednego klastra można określić tylko jedno miejsce docelowe. Jeśli konfikacja zostanie podana, dzienniki zostaną dostarczone do miejsca docelowego co 5 mins. Miejsce docelowe dzienników sterowników to <destination>/<cluster-id>/driver, a miejscem docelowym dzienników funkcji wykonawczej jest <destination>/<cluster-id>/executor.
init_scripts Tablica initScriptInfo Konfiguracja przechowywania skryptów inicjowania. Można określić dowolną liczbę skryptów. Skrypty są wykonywane sekwencyjnie w podanej kolejności. Jeśli cluster_log_conf zostanie określony, dzienniki skryptów inicjowania są wysyłane do
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Obiekt zawierający opcjonalne pary klucz-wartość zmiennych środowiskowych set zdefiniowanych przez użytkownika. Para klucz-wartość formularza (X,Y) jest eksportowana w postaci (tj.
export X='Y') podczas uruchamiania kierowcy i pracowników.

Aby określić dodatkowe set dla SPARK_DAEMON_JAVA_OPTS, zalecamy dołączenie ich do $SPARK_DAEMON_JAVA_OPTS, jak pokazano w poniższym przykładzie. Dzięki temu wszystkie domyślne zmienne środowiskowe zarządzane przez usługę Databricks również zostaną uwzględnione.

Przykładowe zmienne środowiskowe platformy Spark:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} lub
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL Automatyczne skalowanie magazynu lokalnego: po włączeniu ten klaster dynamicznie uzyskuje dodatkowe miejsce na dysku, gdy pracownicy platformy Spark działają nisko na dysku. Aby uzyskać szczegółowe informacje, zobacz Włączanie automatycznego skalowania magazynu lokalnego.
driver_instance_pool_id STRING Opcjonalny identyfikator puli wystąpień do użycia dla węzła sterownika. Należy również określić wartość instance_pool_id. Aby uzyskać szczegółowe informacje, zapoznaj się z interfejsem API pul wystąpień.
instance_pool_id STRING Opcjonalny identyfikator puli wystąpień do użycia dla węzłów klastra. Jeśli driver_instance_pool_id jest obecny,
instance_pool_id jest używany tylko dla węzłów roboczych. W przeciwnym razie jest on używany zarówno dla węzła sterownika, jak i węzłów procesu roboczego. Aby uzyskać szczegółowe informacje, zapoznaj się z interfejsem API pul wystąpień.

NotesOutput

Nazwa pola Type Opis
result STRING Wartość przekazana do dbutils.notebook.exit(). Usługa Azure Databricks ogranicza ten interfejs API do zwrócenia pierwszych 1 MB wartości. W przypadku większego wyniku zadanie może przechowywać wyniki w usłudze magazynu w chmurze. To pole będzie nieobecne, jeśli dbutils.notebook.exit() nigdy nie zostało wywołane.
truncated BOOLEAN Czy wynik został obcięty.

NotebookTask

Wszystkie komórki wyjściowe podlegają rozmiarowi 8 MB. Jeśli dane wyjściowe komórki mają większy rozmiar, pozostałe uruchomienia zostaną anulowane, a przebieg zostanie oznaczony jako niepowodzenie. W takim przypadku brakuje również niektórych danych wyjściowych zawartości z innych komórek.

Jeśli potrzebujesz pomocy w znalezieniu komórki wykraczającej poza limit, uruchom notes na klastrze o ogólnym przeznaczeniu i użyj tej techniki automatycznego zapisywania notesu .

Nazwa pola Type Opis
notebook_path STRING Ścieżka bezwzględna notesu do uruchomienia w obszarze roboczym usługi Azure Databricks. Ta ścieżka musi zaczynać się od ukośnika. To pole jest wymagane.
revision_timestamp LONG Sygnatura czasowa poprawki notesu.
base_parameters Mapa ParamPair Podstawa parameters do użycia przy każdym uruchomieniu tego zadania. Jeśli przebieg zostanie zainicjowany przez wywołanie run-now z określonym parameters, zostaną scalone dwie mapy parameters. Jeśli ten sam klucz jest określony w i base_parameters w run-now, zostanie użyta wartość z run-now .

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

Jeśli notatnik przyjmuje parametr, który nie jest określony w base_parameters zadania lub w przesłonięciu run-now przez parameters, zostanie użyta wartość domyślna z notatnika.

Pobierz te parameters do notatnika, używając dbutils.widgets.get.

ParamPair

parameters oparte na nazwach dla zadań z uruchomionymi zadaniami notesu.

Ważne

Pola w tej strukturze danych akceptują tylko znaki łacińskie (znak ASCII set). Użycie znaków innych niż ASCII zwróci błąd. Przykłady nieprawidłowych znaków innych niż ASCII to chiński, japoński kanjis i emoji.

Type Opis
STRING Nazwa parametru. Przekaż do dbutils.widgets.get, aby pobrać wartość.
STRING Wartość parametru.

PipelineTask

Nazwa pola Type Opis
pipeline_id STRING Pełna nazwa zadania pipeline Delta Live Tables do wykonania.

PythonPyPiLibrary

Nazwa pola Type Opis
package STRING Nazwa pakietu PyPI do zainstalowania. Obsługiwana jest również opcjonalna dokładna specyfikacja wersji. Przykłady: simplejson i simplejson==3.8.0. To pole jest wymagane.
repo STRING Repozytorium where, w którym można znaleźć pakiet. Jeśli nie zostanie określony, zostanie użyty domyślny indeks.

RCranLibrary

Nazwa pola Type Opis
package STRING Nazwa pakietu CRAN do zainstalowania. To pole jest wymagane.
repo STRING Repozytorium where, w którym można znaleźć pakiet. Jeśli nie zostanie określony, zostanie użyte domyślne repozytorium CRAN.

Biegać

Wszystkie informacje o przebiegu z wyjątkiem jego danych wyjściowych. Dane wyjściowe można pobrać oddzielnie za pomocą getRunOutput metody .

Nazwa pola Type Opis
job_id INT64 Kanoniczny identyfikator identifier zadania, które zawiera ten przebieg.
run_id INT64 Kanoniczna identifier przebiegu. Ten identyfikator jest unikatowy we wszystkich uruchomieniach wszystkich zadań.
creator_user_name STRING Nazwa użytkownika twórcy. To pole nie zostanie uwzględnione w odpowiedzi, jeśli użytkownik został już usunięty.
number_in_job INT64 Numer sekwencji tego przebiegu wśród wszystkich uruchomień zadania. Ta wartość zaczyna się od 1.
original_attempt_run_id INT64 Jeśli ten przebieg jest ponowną próbą wcześniejszej próby uruchomienia, to pole zawiera run_id oryginalnej próby; w przeciwnym razie jest taka sama jak run_id.
state RunState Wyniki i stany cyklu życia przebiegu.
schedule CronSchedule Harmonogram cron, który wyzwolił to uruchomienie, jeśli został wyzwolony przez harmonogram okresowy.
task ZadanieTask Zadanie wykonywane przez przebieg, jeśli istnieje.
cluster_spec ClusterSpec Migawka specyfikacji klastra zadania podczas tworzenia tego przebiegu.
cluster_instance Klasa ClusterInstance Klaster używany na potrzeby tego przebiegu. Jeżeli zostanie określone użycie nowego klastra, to pole będzie miało wartość set po złożeniu żądania klastra dla uruchomienia przez Usługę Zadań.
overriding_parameters RunParameters parameters używany na potrzeby tego przebiegu.
start_time INT64 Czas rozpoczęcia tego przebiegu w milisekundach epoki (milisekundy od 1.1.1.1970 UTC). Może to nie być czas rozpoczęcia wykonywania zadania zadania, na przykład jeśli zadanie zostało zaplanowane do uruchomienia w nowym klastrze, jest to czas, w którym zostanie wydane wywołanie tworzenia klastra.
setup_duration INT64 Czas, jaki zajęło skonfigurowanie klastra set w milisekundach. W przypadku przebiegów uruchamianych w nowych klastrach jest to czas tworzenia klastra, w przypadku przebiegów uruchamianych w istniejących klastrach tym razem powinno być bardzo krótkie.
execution_duration INT64 Czas w milisekundach, który trwał, aby wykonać polecenia w pliku JAR lub notesie, dopóki nie zostały ukończone, zakończone niepowodzeniem, upłynął limit czasu, zostały anulowane lub napotkały nieoczekiwany błąd.
cleanup_duration INT64 Czas w milisekundach, który trwał, aby zakończyć działanie klastra i wyczyścić wszystkie skojarzone artefakty. Łączny czas trwania przebiegu to suma setup_duration, execution_duration i cleanup_duration.
end_time INT64 Czas, w którym ten przebieg zakończył się w milisekundach epoki (milisekundy od 1/1/1970 UTC). To pole będzie miał wartość od set do 0, jeśli zadanie jest nadal w toku.
trigger Typ wyzwalacza Typ wyzwalacza, który uruchomił ten przebieg.
run_name STRING Opcjonalna nazwa przebiegu. Domyślna wartość to Untitled. Maksymalna dozwolona długość to 4096 bajtów w kodowaniu UTF-8.
run_page_url STRING Adres URL strony szczegółów przebiegu.
run_type STRING Typ przebiegu.

- JOB_RUN - Normalne uruchomienie zadania. Przebieg utworzony za pomocą polecenia Uruchom teraz.
- WORKFLOW_RUN — Przebieg przepływu pracy. Uruchomienie utworzone za pomocą polecenia dbutils.notebook.run.
- SUBMIT_RUN — Prześlij przebieg. Przebieg utworzony za pomocą polecenia Uruchom teraz.
attempt_number INT32 Numer sekwencji tej próby uruchomienia wyzwolonego zadania. Początkowa próba uruchomienia ma attempt_number 0. Jeśli początkowa próba uruchomienia zakończy się niepowodzeniem, a zadanie ma zasady ponawiania prób (max_retries> 0), kolejne uruchomienia zostaną utworzone przy użyciu original_attempt_run_id identyfikatora oryginalnej próby i przyrostu attempt_number. Uruchomienia są ponawiane tylko do momentu pomyślnego wykonania, a maksymalna attempt_number wartość jest taka sama jak max_retries wartość zadania.

RunJobTask

Nazwa pola Type Opis
job_id INT32 Unikatowe identifier zadania do uruchomienia. To pole jest wymagane.

RunLifeCycleState

Stan cyklu życia przebiegu. Dozwolone przejścia stanu to:

  • QUEUED ->PENDING
  • PENDING- - ->RUNNING>TERMINATING>TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Stan Opis
QUEUED Przebieg został wyzwolony, ale jest kolejkowany, ponieważ osiągnął jeden z następujących limitów:

- Maksymalna liczba współbieżnych aktywnych przebiegów w obszarze roboczym.
— Maksymalne współbieżne zadania są uruchamiane Run Job w obszarze roboczym.
- Maksymalna liczba współbieżnych uruchomień zadania.

Zadanie lub przebieg musi mieć włączoną kolejkę, zanim będzie mogła osiągnąć ten stan.
PENDING Przebieg został wyzwolony. Jeśli osiągnięto już skonfigurowane maksymalne współbieżne uruchomienia zadania, przebieg zostanie natychmiast przeniesiony do SKIPPED stanu bez przygotowywania żadnych zasobów. W przeciwnym razie przygotowanie klastra i wykonanie jest w toku.
RUNNING Zadanie tego przebiegu jest wykonywane.
TERMINATING Zadanie tego przebiegu zostało ukończone, a kontekst klastra i wykonywania są czyszczone.
TERMINATED Zadanie tego uruchomienia zostało ukończone, a kontekst klastra i wykonywania zostały wyczyszczone. Ten stan to terminal.
SKIPPED Ten przebieg został przerwany, ponieważ poprzedni przebieg tego samego zadania był już aktywny. Ten stan to terminal.
INTERNAL_ERROR Wyjątkowy stan wskazujący błąd w usłudze Jobs, taki jak awaria sieci w długim okresie. Jeśli uruchomienie w nowym klastrze zakończy się w INTERNAL_ERROR stanie, usługa Zadania zakończy klaster tak szybko, jak to możliwe. Ten stan to terminal.

RunParameters

Parameters dla tego przebiegu. W żądaniu python_params należy określić tylko jedną z jar_params lub run-nownotebook_params w zależności od typu zadania. Zadania z użyciem JAR Spark lub zadania języka Python wykorzystują listparameterszależnych od pozycji, a zadania z użyciem notesów wykorzystują mapę wartości kluczowych.

Nazwa pola Type Opis
jar_params Tablica STRING list parameters dla zadań Spark JAR, np. "jar_params": ["john doe", "35"]. parameters będzie używany do wywoływania głównej funkcji klasy głównej określonej w zadaniu Spark JAR. Jeśli nie zostanie określony podczas run-now, wartość domyślna będzie pusta list. nie można określić jar_params w połączeniu z notebook_params. Reprezentacja JSON tego pola (tj. {"jar_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.
notebook_params Mapa ParamPair Mapa kluczy do values dla zadań z notatnikiem, np.
"notebook_params": {"name": "john doe", "age": "35"}. Mapa jest przekazywana do notebooka i jest dostępna za pośrednictwem funkcji dbutils.widgets.get.

Jeśli nie zostanie określony podczas run-now, wyzwalany przebieg używa podstawowego parameterszadania .

notebook_params nie można określić w połączeniu z jar_params.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

Reprezentacja tego pola w formacie JSON (tj.
{"notebook_params":{"name":"john doe","age":"35"}}) nie może przekraczać 10 000 bajtów.
python_params Tablica STRING list parameters dla zadań z języka Python, np. "python_params": ["john doe", "35"]. parameters są przekazywane do pliku języka Python jako parameterswiersza polecenia . Jeśli określono run-now, zastąpi to parameters określone w ustawieniu zadania. Reprezentacja JSON tego pola (tj. {"python_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

Te parameters akceptują tylko znaki łacińskie (znak ASCII set). Użycie znaków innych niż ASCII zwróci błąd. Przykłady nieprawidłowych znaków innych niż ASCII to chiński, japoński kanjis i emoji.
spark_submit_params Tablica STRING list parameters dla zadań z poleceniem "spark submit", np.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. parameters są przekazywane do skryptu spark-submit jako argumenty wiersza polecenia parameters. Jeśli określono run-now, zastąpi to parameters określone w ustawieniu zadania. Reprezentacja JSON tego pola (tj. {"python_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

Te parameters akceptują tylko znaki łacińskie (znak ASCII set). Użycie znaków innych niż ASCII zwróci błąd. Przykłady nieprawidłowych znaków innych niż ASCII to chiński, japoński kanjis i emoji.

RunResultState

Stan wyniku przebiegu.

  • Jeśli life_cycle_state = TERMINATED: jeśli przebieg miał zadanie, wynik ma gwarancję dostępności i wskazuje wynik zadania.
  • Jeśli life_cycle_state = PENDINGstan wyniku , RUNNINGlub SKIPPEDjest niedostępny.
  • Jeśli life_cycle_state = TERMINATING lub lifecyclestate = INTERNAL_ERROR: stan wyniku jest dostępny, jeśli przebieg miał zadanie i udało mu się go uruchomić.

Po udostępnieniu stan wyniku nigdy się nie zmienia.

Stan Opis
SUCCESS Zadanie zostało ukończone pomyślnie.
FAILED Zadanie zostało zakończone z błędem.
TIMEDOUT Przebieg został zatrzymany po osiągnięciu limitu czasu.
CANCELED Przebieg został anulowany na żądanie użytkownika.

RunState

Nazwa pola Type Opis
life_cycle_state RunLifeCycleState Opis bieżącej lokalizacji przebiegu w cyklu życia przebiegu. To pole jest zawsze dostępne w odpowiedzi.
result_state RunResultState Stan wyniku przebiegu. Jeśli nie jest dostępna, odpowiedź nie będzie zawierać tego pola. Aby uzyskać szczegółowe informacje na temat dostępności result_state, zobacz RunResultState .
user_cancelled_or_timedout BOOLEAN Czy przebieg został anulowany ręcznie przez użytkownika, czy przez harmonogram, ponieważ upłynął limit czasu uruchomienia.
state_message STRING Opisowy komunikat dla bieżącego stanu. To pole jest nieustrukturyzowane, a jego dokładny format podlega zmianie.

SparkConfPair

Pary klucz-wartość konfiguracji platformy Spark.

Type Opis
STRING Nazwa właściwości konfiguracji.
STRING Wartość właściwości konfiguracji.

SparkEnvPair

Pary klucz-wartość zmiennej środowiskowej platformy Spark.

Ważne

Podczas określania zmiennych środowiskowych w klastrze zadań pola w tej strukturze danych akceptują tylko znaki łacińskie (znak ASCII set). Użycie znaków innych niż ASCII zwróci błąd. Przykłady nieprawidłowych znaków innych niż ASCII to chiński, japoński kanjis i emoji.

Type Opis
STRING Nazwa zmiennej środowiskowej.
STRING Wartość zmiennej środowiskowej.

SparkJarTask

Nazwa pola Type Opis
jar_uri STRING Przestarzałe od 04.2016 r. jar Zamiast tego podaj wartość za pośrednictwem libraries pola. Aby zapoznać się z przykładem, zobacz Tworzenie.
main_class_name STRING Pełna nazwa klasy zawierającej metodę main do wykonania. Ta klasa musi być zawarta w pliku JAR udostępnionym jako biblioteka.

Kod powinien użyć SparkContext.getOrCreate polecenia , aby uzyskać kontekst platformy Spark. W przeciwnym razie uruchomienie zadania zakończy się niepowodzeniem.
parameters Tablica STRING Parameters przekazana do metody main.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

SparkPythonTask

Nazwa pola Type Opis
python_file STRING Identyfikator URI pliku języka Python do wykonania. Obsługiwane są ścieżki systemu plików DBFS. To pole jest wymagane.
parameters Tablica STRING Polecenie parameters przekazane do pliku Pythona.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

SparkSubmitTask

Ważne

  • Zadania przesyłania platformy Spark można wywoływać tylko w nowych klastrach.
  • W specyfikacji libraries new_cluster i spark_conf nie są obsługiwane. Zamiast tego, użyj --jars i --py-files, aby dodać biblioteki Java i Python, oraz --conf i set do konfiguracji Spark.
  • master, deploy-modei executor-cores są automatycznie konfigurowane przez usługę Azure Databricks; nie można określić ich w parameters.
  • Domyślnie zadanie przesyłania platformy Spark używa całej dostępnej pamięci (z wyłączeniem zarezerwowanej pamięci dla usług Azure Databricks). Możesz zmniejszyć wartości set--driver-memoryi --executor-memory, aby pozostawić trochę miejsca na użycie pamięci poza stertą.
  • --jarsArgumenty , --py-files--filesobsługują ścieżki systemu plików DBFS.

Na przykład przy założeniu, że plik JAR jest przekazywany do systemu plików DBFS, można uruchomić SparkPi, ustawiając następujące parameters.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
Nazwa pola Type Opis
parameters Tablica STRING Parametry wiersza polecenia parameters przekazane do funkcji przesyłania Spark.

Użyj Czym jest odwołanie do wartości dynamicznej?setparameters zawierające informacje o uruchomieniach zadań.

Typ wyzwalacza

Są to typy wyzwalaczy, które mogą uruchamiać przebieg.

Type Opis
PERIODIC Harmonogramy, które okresowo wyzwalają uruchomienia, takie jak harmonogram cron.
ONE_TIME Jednorazowe wyzwalacze, które uruchamiają pojedynczy przebieg. Dzieje się tak, że jeden przebieg na żądanie został wyzwolony za pośrednictwem interfejsu użytkownika lub interfejsu API.
RETRY Wskazuje przebieg, który jest wyzwalany jako ponawianie wcześniej nieudanego przebiegu. Dzieje się tak, gdy żądasz ponownego uruchomienia zadania w przypadku awarii.

ViewItem

Wyeksportowana zawartość jest w formacie HTML. Jeśli na przykład widok do wyeksportowania to pulpity nawigacyjne, dla każdego pulpitu nawigacyjnego jest zwracany jeden ciąg HTML.

Nazwa pola Type Opis
content STRING Zawartość widoku.
name STRING Nazwa elementu widoku. W przypadku widoku kodu nazwa notesu. W przypadku widoku pulpitu nawigacyjnego nazwa pulpitu nawigacyjnego.
type Typ widoku Typ elementu widoku.

Typ widoku

Type Opis
NOTEBOOK Element widoku notesu.
DASHBOARD Element widoku pulpitu nawigacyjnego.

ViewsToExport

Widok do wyeksportowania: kod, wszystkie pulpity nawigacyjne lub wszystkie.

Type Opis
CODE Widok kodu notesu.
DASHBOARDS Wszystkie views panelu sterowania notebooka.
ALL Wszystkie views zeszytu.

Element webhook

Nazwa pola Type Opis
id STRING Identifier odwoływanie się do miejsca docelowego powiadomień systemowych. To pole jest wymagane.

Elementy webhookNotifications

Nazwa pola Type Opis
on_start Tablica elementów webhook Opcjonalna list systemowych miejsc docelowych, które mają być powiadomione o rozpoczęciu przebiegu. Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_start maksymalnie 3 miejsca docelowe.
on_success Tablica elementów webhook Opcjonalne list lokalizacje docelowe systemu, które mają zostać powiadomione po pomyślnym zakończeniu uruchomienia. Przebieg jest uznawany za zakończony pomyślnie, jeśli kończy się elementem TERMINATEDlife_cycle_state i .SUCCESSFULresult_state Jeśli nie określono wartości przy tworzeniu zadania (resetlub update), list jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_success maksymalnie 3 miejsca docelowe.
on_failure Tablica elementów webhook Opcjonalna list lokalizacji docelowych systemu, która ma zostać powiadomiona, gdy przebieg zakończy się niepowodzeniem. Przebieg jest uznawany za zakończony niepowodzeniem, jeśli kończy się na INTERNAL_ERROR
life_cycle_state SKIPPEDlub , FAILEDlub TIMED_OUTresult_state. Jeśli ta wartość nie zostanie określona podczas tworzenia zadania, resetlub updatelist jest pusta, a powiadomienia nie są wysyłane. Dla właściwości można określić on_failure maksymalnie 3 miejsca docelowe.
on_duration_warning_threshold_exceeded Tablica elementów webhook Opcjonalne list lokalizacji docelowych systemu, które mają być powiadamiane, gdy czas trwania przebiegu przekracza próg określony dla metryki RUN_DURATION_SECONDS w polu health. Dla właściwości można określić on_duration_warning_threshold_exceeded maksymalnie 3 miejsca docelowe.

WorkspaceStorageInfo

Informacje o magazynie obszaru roboczego.

Nazwa pola Type Opis
destination STRING Miejsce docelowe pliku. Przykład: /Users/someone@domain.com/init_script.sh