Interfejs API zadań 2.0

Interfejs API zadań umożliwia tworzenie, edytowanie i usuwanie zadań. Maksymalny dozwolony rozmiar żądania do interfejsu API zadań wynosi 10 MB. Zobacz Create a High Concurrency cluster (Tworzenie klastra o wysokiej współbieżności ), aby zapoznać się z przewodnikiem dotyczącym tego interfejsu API.

Aby uzyskać szczegółowe informacje o aktualizacjach interfejsu API zadań, które obsługują orkiestrację wielu zadań za pomocą zadań usługi Azure Databricks, zobacz Aktualizacje interfejsu API zadań.

Uwaga

Jeśli podczas wykonywania żądań interfejsu API zadań wystąpi błąd 500-poziom, 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ę.

Utworzyć

Punkt końcowy HTTP, metoda
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"
  }
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • Zawartość pola create-job.json , które są odpowiednie dla Twojego rozwiązania.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

{
  "job_id": 1
}

Struktura żądania

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie obliczeniowe zadań (zautomatyzowane) podlegające cennikowi obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie usługi All-Purpose Compute (interaktywne) podlegające cennikowi usługi All-Purpose Compute.
Nazwa pola Typ Opis
existing_cluster_id OR new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich przebiegów 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 element PipelineTask, to pole może być puste.
notebook_task LUB spark_jar_task LUB spark_python_task LUB spark_submit_task LUB pipeline_task NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. To pole nie może być określone 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.
name STRING Opcjonalna nazwa zadania. Wartość domyślna to Untitled.
biblioteki Tablica biblioteki Opcjonalna lista bibliotek do zainstalowania w klastrze, które będą wykonywać zadanie. Wartość domyślna to pusta lista.
email_notifications JobEmailNotifications Opcjonalny zestaw adresów e-mail powiadamianych o rozpoczęciu i ukończeniu tego zadania oraz po usunięciu tego zadania. Domyślne zachowanie polega na tym, aby nie wysyłać żadnych wiadomości e-mail.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślnym zachowaniem jest brak limitu czasu.
max_retries INT32 Opcjonalna maksymalna liczba ponownych prób nieudanego uruchomienia. Przebieg jest uznawany za nieudany FAILED , jeśli kończy się z result_state lub
INTERNAL_ERROR
life_cycle_state. Wartość -1 oznacza ponowienie próby w nieskończoność, a wartość 0 oznacza, że nigdy nie spróbuj ponownie. Domyślne zachowanie polega na tym, że nigdy nie należy ponawiać próby.
min_retry_interval_millis INT32 Opcjonalny minimalny interwał w milisekundach między rozpoczęciem przebiegu, który zakończył się niepowodzeniem a kolejnym uruchomieniem ponawiania. Domyślne zachowanie polega na tym, że nieudane przebiegi są natychmiast ponawiane.
retry_on_timeout BOOL Opcjonalne zasady określające, czy ponowić próbę wykonania zadania po przekroczeniu limitu 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.

Ustaw tę wartość, jeśli chcesz mieć możliwość wykonywania wielu uruchomień tego samego zadania jednocześnie. Jest to przydatne na przykład w przypadku wyzwalania zadania według częstego harmonogramu i umożliwienia nakładania się kolejnych przebiegów na siebie lub wyzwalania wielu przebiegów, które różnią się od ich parametrów wejściowych.

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 momentu nowe przebiegi są pomijane, chyba że jest 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 tylko na 1 współbieżne uruchamianie.

Struktura odpowiedzi

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny nowo utworzonego zadania.

Lista

Punkt końcowy HTTP, metoda
2.0/jobs/list GET

Wyświetl listę wszystkich zadań.

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 użyto pliku .netrc i jq.

Reakcja

{
  "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 Typ Opis
Zadania Tablica zadań Lista zadań.

Usunąć

Punkt końcowy HTTP, metoda
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 zadań lub interfejsie API. Zadanie ma zostać usunięte po zakończeniu tego żądania. Jednak przebiegi, które były aktywne przed otrzymaniem tego żądania, mogą być nadal aktywne. Zostaną one zakończone asynchronicznie.

Przykład

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

Zastąp:

  • <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.

W tym przykładzie użyto pliku .netrc .

Struktura żądań

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny zadania do usunięcia. To pole jest wymagane.

Pobierz

Punkt końcowy HTTP, metoda
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 .

Zastąp:

  • <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.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

{
  "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 Typ Opis
Job_id INT64 Identyfikator kanoniczny zadania do pobrania informacji. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny 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.
ustawienia JobSettings Ustawienia dla tego zadania i wszystkich jego przebiegów. Te ustawienia można zaktualizować przy użyciu punktów końcowych resetowania lub aktualizacji .
created_time INT64 Czas utworzenia tego zadania w milisekundach epokowych (milisekundy od 1/1/1970 UTC).

Zresetować

Punkt końcowy HTTP, metoda
2.0/jobs/reset POST

Zastąp wszystkie ustawienia określonego zadania. Użyj punktu końcowego aktualizacji , aby częściowo zaktualizować 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"
    }
  }
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • Zawartość pól reset-job.json odpowiednich dla rozwiązania.

W tym przykładzie użyto pliku .netrc i jq.

Struktura żądań

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny zadania do zresetowania. To pole jest wymagane.
new_settings JobSettings 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.

Aktualizacji

Punkt końcowy HTTP, metoda
2.0/jobs/update POST

Dodawanie, zmienianie lub usuwanie określonych ustawień istniejącego zadania. Użyj punktu końcowego resetowania , aby zastąpić 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"]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • Zawartość pól update-job.json odpowiednich dla rozwiązania.

W tym przykładzie użyto pliku .netrc i jq.

Struktura żądań

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny zadania do zaktualizowania. To pole jest wymagane.
new_settings JobSettings Nowe ustawienia zadania. Wszystkie pola najwyższego poziomu określone w pliku new_settings są całkowicie zastępowane. 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 Usuń pola najwyższego poziomu w ustawieniach zadania. Usuwanie zagnieżdżonych pól nie jest obsługiwane. To pole jest opcjonalne.

Uruchom teraz

Ważne

  • Zadania można tworzyć tylko w obszarze roboczym Inżynieria nauki o & danych lub w obszarze roboczym Machine Learning.
  • Obszar roboczy jest ograniczony do 1000 współbieżnych uruchomień zadań. 429 Too Many Requests Odpowiedź jest zwracana po zażądaniu uruchomienia, którego nie można uruchomić natychmiast.
  • Liczba zadań, które można utworzyć w obszarze roboczym w ciągu godziny, jest ograniczona do 5000 (obejmuje "uruchom teraz" i "przesyłanie przebiegów"). Ten limit wpływa również na zadania utworzone przez przepływy pracy notesu i interfejsu API REST.
Punkt końcowy HTTP, metoda
2.0/jobs/run-now POST

Uruchom zadanie teraz i zwróć run_id wyzwalany przebieg.

Porada

W przypadku wywołania polecenia Utwórz razem z poleceniem Uruchom teraz możesz użyć punktu końcowego przesyłania przebiegów , który umożliwia bezpośrednie przesyłanie obciążenia bez konieczności tworzenia 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" ]
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • Zawartość pola run-job.json , które są odpowiednie dla Twojego rozwiązania.

W tym przykładzie użyto pliku .netrc i jq.

Struktura żądania

Nazwa pola Typ Opis
Job_id INT64
jar_params Tablica STRING Lista parametrów zadań z zadaniami JAR, np. "jar_params": ["john doe", "35"]. Parametry będą używane do wywoływania głównej funkcji klasy głównej określonej w zadaniu Spark JAR. Jeśli wartość nie zostanie określona w parametrze run-now, zostanie domyślnie ustawiona pusta lista. 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 z kluczy do wartości zadań z zadaniem notesu, np.
"notebook_params": {"name": "john doe", "age": "35"}. Mapa jest przekazywana do notesu i jest dostępna za pośrednictwem funkcji dbutils.widgets.get .

Jeśli nie określono parametru , run-nowwyzwalany przebieg używa parametrów podstawowych zadania.

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 Lista parametrów zadań z zadaniami w języku Python, np. "python_params": ["john doe", "35"]. Parametry zostaną przekazane do pliku języka Python jako parametry wiersza polecenia. W przypadku określenia wartości run-nowparametrów określonych w ustawieniu zadania zostanie zastąpiony. Reprezentacja JSON tego pola (tj. {"python_params":["john doe","35"]}) nie może przekraczać 10 000 bajtów.
spark_submit_params Tablica STRING Lista parametrów zadań z zadaniem przesyłania platformy Spark, np.
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. Parametry zostaną przekazane do skryptu spark-submit jako parametry wiersza polecenia. W przypadku określenia wartości run-nowparametrów określonych w ustawieniu zadania zostanie zastąpiony. Reprezentacja JSON tego pola nie może przekraczać 10 000 bajtów.

Struktura odpowiedzi

Nazwa pola Typ 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

  • Zadania można tworzyć tylko w obszarze roboczym Inżynieria nauki o & danych lub w obszarze roboczym Machine Learning.
  • Obszar roboczy jest ograniczony do 1000 współbieżnych uruchomień zadań. 429 Too Many Requests Odpowiedź jest zwracana po zażądaniu uruchomienia, którego nie można uruchomić natychmiast.
  • Liczba zadań, które można utworzyć w obszarze roboczym w ciągu godziny, jest ograniczona do 5000 (obejmuje "uruchom teraz" i "przesyłanie przebiegów"). Ten limit wpływa również na zadania utworzone przez przepływy pracy notesu i interfejsu API REST.
Punkt końcowy HTTP, metoda
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. Przebiegi przesłane przy użyciu tego punktu końcowego nie są wyświetlane w interfejsie użytkownika. 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"
  }
}

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • Zawartość pola submit-job.json , które są odpowiednie dla Twojego rozwiązania.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

{
  "run_id": 123
}

Struktura żądania

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie obliczeniowe zadań (zautomatyzowane) podlegające cennikowi obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie usługi All-Purpose Compute (interaktywne) podlegające cennikowi usługi All-Purpose Compute.
Nazwa pola Typ Opis
existing_cluster_id OR new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich przebiegów 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 element PipelineTask, to pole może być puste.
notebook_task LUB spark_jar_task LUB spark_python_task LUB spark_submit_task LUB pipeline_task NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. To pole nie może być określone 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.
run_name STRING Opcjonalna nazwa przebiegu. Wartość domyślna to Untitled.
biblioteki Tablica biblioteki Opcjonalna lista bibliotek do zainstalowania w klastrze, które będą wykonywać zadanie. Wartość domyślna to pusta lista.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślnym zachowaniem jest brak limitu czasu.
idempotency_token STRING Opcjonalny token, który może służyć do zagwarantowania idempotentności żądań uruchomienia zadania. Jeśli aktywny przebieg z podanym tokenem już istnieje, żądanie nie utworzy nowego przebiegu, ale zwróci identyfikator istniejącego przebiegu.

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 zostanie uruchomione przy użyciu tego tokenu idempotentności.

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

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

Struktura odpowiedzi

Nazwa pola Typ Opis
run_id INT64 Identyfikator kanoniczny dla nowo przesłanego przebiegu.

Lista przebiegów

Punkt końcowy HTTP, metoda
2.0/jobs/runs/list GET

Lista jest uruchamiana w kolejności malejącej według czasu rozpoczęcia.

Uwaga

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

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 .

Zastąp:

  • <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> za pomocą polecenia true lub false.
  • <offset> z wartością offset .
  • <limit> z wartością limit .
  • <run-type> z wartością run_type .

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

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

Struktura żądania

Nazwa pola Typ 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 wyświetla listę aktywnych i ukończonych przebiegów. Aktywny przebieg jest przebiegiem w PENDINGsystemie , 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świetla listę aktywnych i ukończonych przebiegów. To pole nie może być true , gdy active_only to true.
Job_id INT64 Zadanie, dla którego ma być uruchomiona lista. Jeśli zostanie pominięty, zostanie wyświetlona lista Zadania uruchomiona ze wszystkich zadań.
przesunięcie INT32 Przesunięcie pierwszego uruchomienia do zwrócenia 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 wynoszący 0, usługa zamiast tego użyje maksymalnego limitu.
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 Typ Opis
Uruchamia Tablica przebiegów Lista przebiegów, od ostatnio rozpoczętych do najmniejszych.
has_more BOOL Jeśli wartość true, dodatkowe uruchomienia pasujące do podanego filtru są dostępne do wyświetlania listy.

Pobieranie przebiegów

Punkt końcowy HTTP, metoda
2.0/jobs/runs/get GET

Pobieranie metadanych przebiegu.

Uwaga

Przebiegi są automatycznie usuwane po 60 dniach. Jeśli chcesz odwoływać się do nich po upływie 60 dni, przed ich wygaśnięciem należy zapisać stare wyniki uruchomienia. 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 .

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> z identyfikatorem przebiegu, na przykład 123.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

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

Struktura żądań

Nazwa pola Typ Opis
run_id INT64 Identyfikator kanoniczny przebiegu, dla którego mają zostać pobrane metadane. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny zadania zawierającego to uruchomienie.
run_id INT64 Identyfikator kanoniczny przebiegu. Ten identyfikator jest unikatowy we wszystkich uruchomieniach wszystkich zadań.
number_in_job INT64 Numer sekwencji tego przebiegu we wszystkich uruchomieniach zadania. Ta wartość zaczyna się od 1.
original_attempt_run_id INT64 Jeśli to uruchomienie jest ponawianą próbą wcześniejszej próby uruchomienia, to pole zawiera run_id oryginalnej próby; w przeciwnym razie jest taka sama jak run_id.
stan RunState Wyniki i stany cyklu życia przebiegu.
schedule CronSchedule Harmonogram cron, który wyzwolił to uruchomienie, jeśli został wyzwolony przez harmonogram okresowy.
task JobTask Zadanie wykonywane przez przebieg, jeśli istnieje.
cluster_spec ClusterSpec Migawka specyfikacji klastra zadania podczas tworzenia tego przebiegu.
cluster_instance KlasterInstance Klaster używany na potrzeby tego przebiegu. Jeśli przebieg zostanie określony do użycia nowego klastra, to pole zostanie ustawione po zażądaniu klastra dla przebiegu przez usługę Zadań.
overriding_parameters RunParameters Parametry używane do tego przebiegu.
start_time INT64 Czas rozpoczęcia tego przebiegu w milisekundach epokowych (milisekund od 1/1/1970 UTC). Może to nie być czas rozpoczęcia wykonywania zadania zadania, na przykład jeśli zadanie ma zostać uruchomione w nowym klastrze, jest to czas wystawienia wywołania 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 zostanie ustawione na wartość 0, jeśli zadanie jest nadal uruchomione.
setup_duration INT64 Czas potrzebny na skonfigurowanie klastra 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 trwał, aby wykonać polecenia w pliku JAR lub notesie do momentu ukończenia, niepowodzenia, przekroczenia limitu czasu, anulowania lub napotkania nieoczekiwanego błędu.
cleanup_duration INT64 Czas w milisekundach trwał, aby zakończyć działanie klastra i wyczyścić wszystkie skojarzone artefakty. Całkowity czas trwania przebiegu to suma setup_duration, execution_duration i cleanup_duration.
Wyzwalacz TriggerType Typ wyzwalacza, który wystrzelił 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 eksport

Punkt końcowy HTTP, metoda
2.0/jobs/runs/export GET

Wyeksportuj i pobierz zadanie uruchomienia zadania.

Uwaga

Można eksportować tylko przebiegi notesów 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 .

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> z identyfikatorem przebiegu, na przykład 123.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

{
  "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 Typ Opis
run_id INT64 Identyfikator kanoniczny przebiegu. To pole jest wymagane.
views_to_export ViewsToExport Które widoki mają być eksportowane (KOD, PULPITY NAWIGACYJNE lub WSZYSTKIE). Wartość domyślna to CODE.

Struktura odpowiedzi

Nazwa pola Typ Opis
widoki Tablica widokuItem Wyeksportowana zawartość w formacie HTML (jedna dla każdego elementu widoku).

Anulowanie przebiegów

Punkt końcowy HTTP, metoda
2.0/jobs/runs/cancel POST

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

Ten punkt końcowy sprawdza, czy run_id parametr jest prawidłowy, a dla nieprawidłowych parametrów 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> }'

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> z identyfikatorem przebiegu, na przykład 123.

W tym przykładzie użyto pliku .netrc .

Struktura żądań

Nazwa pola Typ Opis
run_id INT64 To pole jest wymagane.

Uruchomienia pobierają dane wyjściowe

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

Pobierz dane wyjściowe i metadane przebiegu. 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 zwracania 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 run_id parametr jest prawidłowy, a dla nieprawidłowych parametrów zwraca kod stanu HTTP 400.

Przebiegi są automatycznie usuwane po upływie 60 dni. Jeśli chcesz odwołać się do nich po upływie 60 dni, przed wygaśnięciem należy zapisać stare wyniki przebiegu. 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 .

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> z identyfikatorem przebiegu, na przykład 123.

W tym przykładzie użyto pliku .netrc i jq.

Reakcja

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

Struktura żądań

Nazwa pola Typ Opis
run_id INT64 Identyfikator kanoniczny przebiegu. To pole jest wymagane.

Struktura odpowiedzi

Nazwa pola Typ Opis
notebook_output LUB błąd NotesOutput LUB STRING Jeśli notebook_output, dane wyjściowe zadania notesu, jeśli są dostępne. Zadanie notesu, które kończy się (powodzeniem lub niepowodzeniem) bez wywoływania
dbutils.notebook.exit() uważa się, że mają puste dane wyjściowe. To pole zostanie ustawione, ale jego wartość wyniku będzie pusta.

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

Uruchamianie usuwania

Punkt końcowy HTTP, metoda
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> }'

Zastąp:

  • <databricks-instance> z nazwą wystąpienia obszaru roboczego usługi Azure Databricks, na przykład adb-1234567890123456.7.azuredatabricks.net.
  • <run-id> z identyfikatorem przebiegu, na przykład 123.

W tym przykładzie użyto pliku .netrc .

Struktura żądań

Nazwa pola Typ Opis
run_id INT64 Identyfikator kanoniczny przebiegu, dla którego mają zostać pobrane metadane.

Struktury danych

W tej sekcji:

KlasterInstance

Identyfikatory dla klastra i kontekstu spark używanego przez przebieg. Te dwie wartości razem identyfikują kontekst wykonywania przez cały czas.

Nazwa pola Typ Opis
cluster_id STRING Identyfikator kanoniczny klastra używanego przez przebieg. To pole jest zawsze dostępne dla przebiegów w istniejących klastrach. W przypadku uruchamiania 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 identyfikator nie jest jeszcze dostępny.
spark_context_id STRING Identyfikator kanoniczny kontekstu platformy Spark używany przez przebieg. To pole zostanie wypełnione po rozpoczęciu wykonywania. Ta wartość może służyć do wyświetlania interfejsu użytkownika platformy Spark, przechodząc do strony /#setting/sparkui/$cluster_id/$spark_context_id. Interfejs użytkownika platformy Spark będzie nadal dostępny po zakończeniu przebiegu.

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

ClusterSpec

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie obliczeniowe zadań (zautomatyzowane) podlegające cennikowi obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie usługi All-Purpose Compute (interaktywne) podlegające cennikowi usługi All-Purpose Compute.
Nazwa pola Typ Opis
existing_cluster_id OR new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich przebiegów 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 element PipelineTask, to pole może być puste.
biblioteki Tablica biblioteki Opcjonalna lista bibliotek do zainstalowania w klastrze, które będą wykonywać zadanie. Wartość domyślna to pusta lista.

CronSchedule

Nazwa pola Typ 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 strefy czasowej Java. Harmonogram zadania zostanie rozwiązany w odniesieniu do tej strefy czasowej. 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".

Zadanie

Nazwa pola Typ Opis
Job_id INT64 Identyfikator kanoniczny 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 ustawiona na twórcę zadania, jeśli kontrola dostępu do zadania jest wyłączona, lub is_owner uprawnienie, jeśli kontrola dostępu do zadania jest włączona.
ustawienia JobSettings 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 (milisekundy od 1.1.1.1970 czasu UTC).

JobEmailNotifications

Ważne

Pola on_start, on_success i on_failure akceptują tylko znaki łacińskie (zestaw znaków ASCII). 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 Typ Opis
on_start Tablica STRING Lista adresów e-mail, które mają być powiadamiane o rozpoczęciu przebiegu. Jeśli nie określono wartości podczas tworzenia, resetowania lub aktualizowania zadania, lista jest pusta, a powiadomienia nie są wysyłane.
on_success Tablica STRING Lista adresów e-mail, które mają być powiadamiane o pomyślnym zakończeniu przebiegu. Przebieg jest uznawany za zakończony pomyślnie, jeśli kończy się TERMINATEDlife_cycle_state na result_state i SUCCESSFUL . Jeśli nie określono wartości podczas tworzenia, resetowania lub aktualizowania zadania, lista jest pusta, a powiadomienia nie są wysyłane.
on_failure Tablica STRING Lista adresów e-mail, które mają być powiadamiane o niepomyślnym zakończeniu przebiegu. Przebieg jest uznawany za zakończony niepowodzeniem, jeśli kończy się na INTERNAL_ERROR
life_cycle_stateSKIPPEDlub , FAILEDlub TIMED_OUT result_state. Jeśli ta wartość nie zostanie określona podczas tworzenia, resetowania lub aktualizowania listy, będzie pusta, a powiadomienia nie będą wysyłane.
no_alert_for_skipped_runs BOOL Jeśli to prawda, nie wysyłaj wiadomości e-mail do adresatów określonych w on_failure przypadku pominięcia przebiegu.

JobSettings

Ważne

  • Po uruchomieniu zadania w nowym klastrze zadań zadanie jest traktowane jako obciążenie obliczeniowe zadań (zautomatyzowane) podlegające cennikowi obliczeń zadań.
  • Po uruchomieniu zadania w istniejącym klastrze ogólnego przeznaczenia jest on traktowany jako obciążenie usługi All-Purpose Compute (interaktywne) podlegające cennikowi usługi All-Purpose Compute.

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

Nazwa pola Typ Opis
existing_cluster_id OR new_cluster STRING OR NewCluster Jeśli existing_cluster_id, identyfikator istniejącego klastra, który będzie używany dla wszystkich przebiegów 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 element PipelineTask, to pole może być puste.
notebook_task LUB spark_jar_task LUB spark_python_task LUB spark_submit_task LUB pipeline_task NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. To pole nie może być określone 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.
name STRING Opcjonalna nazwa zadania. Wartość domyślna to Untitled.
biblioteki Tablica biblioteki Opcjonalna lista bibliotek do zainstalowania w klastrze, które będą wykonywać zadanie. Wartość domyślna to pusta lista.
email_notifications JobEmailNotifications Opcjonalny zestaw 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.
timeout_seconds INT32 Opcjonalny limit czasu zastosowany do każdego uruchomienia tego zadania. Domyślnym zachowaniem jest brak limitu czasu.
max_retries INT32 Opcjonalna maksymalna liczba ponownych prób nieudanego uruchomienia. Przebieg jest uznawany za nieudany FAILED , jeśli kończy się z result_state lub
INTERNAL_ERROR
life_cycle_state. Wartość -1 oznacza ponowienie próby w nieskończoność, a wartość 0 oznacza, że nigdy nie spróbuj ponownie. Domyślne zachowanie polega na tym, że nigdy nie należy ponawiać próby.
min_retry_interval_millis INT32 Opcjonalny minimalny interwał w milisekundach między próbami. Domyślne zachowanie polega na tym, że nieudane przebiegi są natychmiast ponawiane.
retry_on_timeout BOOL Opcjonalne zasady określające, czy ponowić próbę wykonania zadania po przekroczeniu limitu 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 zostanie uruchomione 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.

Ustaw tę wartość, jeśli chcesz mieć możliwość wykonywania wielu uruchomień tego samego zadania jednocześnie. Jest to przydatne na przykład w przypadku wyzwalania zadania według częstego harmonogramu i umożliwienia nakładania się kolejnych przebiegów na siebie lub wyzwalania wielu przebiegów, które różnią się od ich parametrów wejściowych.

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 momentu nowe przebiegi zostaną pominięte, chyba że będzie 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 tylko na 1 współbieżne uruchamianie.

JobTask

Nazwa pola Typ Opis
notebook_task LUB spark_jar_task LUB spark_python_task LUB spark_submit_task LUB pipeline_task NotebookTask LUB SparkJarTask LUB SparkPythonTask LUB SparkSubmitTask LUB PipelineTask Jeśli notebook_task, wskazuje, że to zadanie powinno uruchomić notes. To pole nie może być określone 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.

NewCluster

Nazwa pola Typ Opis
num_workers LUB skalowanie automatyczne INT32 OR Autoskaluj Jeśli num_workers, liczba węzłów roboczych, które powinien mieć ten klaster. Klaster ma jeden sterownik Spark i funkcje wykonawcze num_workers dla łącznej liczby węzłów platformy Spark num_workers i 1.

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. Jeśli na przykład 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 procesy robocze wymienione w spark_info stopniowo rosną z 5 do 10 w miarę aprowizowania nowych węzłów.

W przypadku automatycznego skalowania parametry potrzebne do automatycznego skalowania klastrów w górę i w dół na podstawie obciążenia.
spark_version STRING Wersja platformy Spark klastra. Listę dostępnych wersji platformy Spark można pobrać przy użyciu wywołania interfejsu API wersji środowiska uruchomieniowego . To pole jest wymagane.
spark_conf SparkConfPair Obiekt zawierający zestaw opcjonalnych par klucz-wartość konfiguracji platformy Spark określony przez użytkownika. Możesz również przekazać ciąg dodatkowych opcji JVM do sterownika i funkcji wykonawczych za pomocą 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 platformy Spark można aprowizować i zoptymalizować pod kątem obciążeń intensywnie korzystających z pamięci lub mocy obliczeniowej Lista dostępnych typów węzłów można pobrać przy użyciu wywołania interfejsu API Typy węzłów listy . To pole jest wymagane.
driver_node_type_id STRING Typ węzła sterownika Spark. To pole jest opcjonalne; Jeśli nie jest ustawiona, typ węzła sterownika jest ustawiony jako ta sama wartość, jak node_type_id zdefiniowano powyżej.
custom_tags ClusterTag Obiekt zawierający zestaw tagów dla zasobów klastra. Oprócz default_tags usługa Databricks taguje wszystkie zasoby klastra (takie jak maszyny wirtualne).

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 podano konf, dzienniki zostaną dostarczone do miejsca docelowego co 5 mins. Miejscem docelowym dzienników sterowników jest <destination>/<cluster-id>/driver, a miejscem docelowym dzienników funkcji wykonawczej jest <destination>/<cluster-id>/executor.
init_scripts Tablica informacji InitScriptInfo Konfiguracja do 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 jest określony, dzienniki skryptów inicjowania są wysyłane do
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair Obiekt zawierający zestaw opcjonalnych par klucz-wartość zmiennej środowiskowej określonej 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ć dodatkowy zestaw SPARK_DAEMON_JAVA_OPTSelementów , zalecamy dołączenie ich do $SPARK_DAEMON_JAVA_OPTS elementu , jak pokazano w poniższym przykładzie. Gwarantuje to, że uwzględniane są również wszystkie domyślne zmienne środowiskowe zarządzane przez usługę Databricks.

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 Autoskalowanie lokalnego Storage: po włączeniu ten klaster dynamicznie uzyskuje dodatkowe miejsce na dysku, gdy pracownicy platformy Spark mają mało miejsca na dysku. Aby uzyskać szczegółowe informacje, zobacz Autoskalowanie 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, zobacz Interfejs API 2.0 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 roboczych. Aby uzyskać szczegółowe informacje, zobacz Interfejs API 2.0 pul wystąpień .

NotesOutput

Nazwa pola Typ 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.
Obcinane 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, reszta przebiegu zostanie anulowana, a przebieg zostanie oznaczony jako nieudany. 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, która przekracza limit, uruchom notes dla klastra ogólnego przeznaczenia i użyj tej techniki automatycznego zapisywanie notesu.

ParamPair

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

Ważne

Pola w tej strukturze danych akceptują tylko znaki łacińskie (zestaw znaków ASCII). 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.

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

PipelineTask

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

Uruchomić

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

Nazwa pola Typ Opis
Job_id INT64 Kanoniczny identyfikator zadania zawierającego to uruchomienie.
run_id INT64 Kanoniczny identyfikator 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 we wszystkich uruchomieniach zadania. Ta wartość zaczyna się od 1.
original_attempt_run_id INT64 Jeśli to uruchomienie jest ponawianą próbą wcześniejszej próby uruchomienia, to pole zawiera run_id oryginalnej próby; w przeciwnym razie jest taka sama jak run_id.
stan RunState Wyniki i stany cyklu życia przebiegu.
schedule CronSchedule Harmonogram cron, który wyzwolił to uruchomienie, jeśli został wyzwolony przez harmonogram okresowy.
task JobTask Zadanie wykonywane przez przebieg, jeśli istnieje.
cluster_spec ClusterSpec Migawka specyfikacji klastra zadania podczas tworzenia tego przebiegu.
cluster_instance KlasterInstance Klaster używany na potrzeby tego przebiegu. Jeśli przebieg zostanie określony do użycia nowego klastra, to pole zostanie ustawione po zażądaniu klastra dla przebiegu przez usługę Zadań.
overriding_parameters RunParameters Parametry używane do tego przebiegu.
start_time INT64 Czas rozpoczęcia tego przebiegu w milisekundach epokowych (milisekund od 1/1/1970 UTC). Może to nie być czas rozpoczęcia wykonywania zadania zadania, na przykład jeśli zadanie ma zostać uruchomione w nowym klastrze, jest to czas wystawienia wywołania tworzenia klastra.
setup_duration INT64 Czas potrzebny na skonfigurowanie klastra 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 trwał, aby wykonać polecenia w pliku JAR lub notesie do momentu ukończenia, niepowodzenia, przekroczenia limitu czasu, anulowania lub napotkania nieoczekiwanego błędu.
cleanup_duration INT64 Czas w milisekundach trwał, aby zakończyć działanie klastra i wyczyścić wszystkie skojarzone artefakty. Całkowity 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 zostanie ustawione na wartość 0, jeśli zadanie jest nadal uruchomione.
Wyzwalacz TriggerType Typ wyzwalacza, który wystrzelił ten przebieg.
run_name STRING Opcjonalna nazwa przebiegu. Wartość domyślna 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. Uruchomienie utworzone za pomocą polecenia Uruchom teraz.
* WORKFLOW_RUN — Przebieg przepływu pracy. Przebieg utworzony za pomocą polecenia dbutils.notebook.run.
* SUBMIT_RUN — Prześlij przebieg. Uruchomienie utworzone za pomocą polecenia Uruchom teraz.
attempt_number INT32 Numer sekwencji tej próby uruchomienia dla 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 są tworzone przy użyciu original_attempt_run_id identyfikatora oryginalnej próby i przyrostowego attempt_number. Uruchomienia są ponawiane tylko do momentu pomyślnego wykonania, a wartość maksymalna attempt_number jest taka sama jak max_retries wartość zadania.

RunLifeCycleState

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

  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
Stan Opis
PENDING Przebieg został wyzwolony. Jeśli nie ma jeszcze aktywnego uruchomienia tego samego zadania, jest przygotowywany kontekst klastra i wykonywania. Jeśli istnieje już aktywny przebieg tego samego zadania, przebieg zostanie natychmiast przeniesiony do SKIPPED stanu bez przygotowywania żadnych zasobów.
RUNNING Zadanie tego uruchomienia jest wykonywane.
TERMINATING Zadanie tego uruchomienia 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 To uruchomienie zostało przerwane, 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 Zadania, taki jak awaria sieci w długim okresie. Jeśli uruchomienie nowego klastra zakończy się w INTERNAL_ERROR stanie, usługa Zadania zakończy działanie klastra tak szybko, jak to możliwe. Ten stan to terminal.

RunParameters

Parametry dla tego przebiegu. W żądaniu run-now należy określić tylko jeden z jar_params, python_paramslub notebook_params, w zależności od typu zadania zadania. Zadania z zadaniem JAR platformy Spark lub zadaniem języka Python przyjmują listę parametrów opartych na pozycji, a zadania z zadaniami notesu wykonują mapę wartości klucza.

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 = PENDINGwartość , RUNNINGlub SKIPPED, stan wyniku jest niedostępny.
  • Jeśli life_cycle_state = TERMINATING lub cykl życia = INTERNAL_ERROR: stan wyniku jest dostępny, jeśli przebieg miał zadanie i udało się go uruchomić.

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

Stan Opis
SUKCES Zadanie zostało ukończone pomyślnie.
NIEPOWODZENIE Zadanie zostało ukończone z powodu błędu.
LIMIT CZASU Przebieg został zatrzymany po osiągnięciu limitu czasu.
ANULOWANE Przebieg został anulowany na żądanie użytkownika.

RunState

Nazwa pola Typ 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 uruchomienia. 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 przebiegu.
state_message STRING Opisowy komunikat dla bieżącego stanu. To pole jest nieustrukturyzowane, a jego dokładny format może ulec zmianie.

SparkJarTask

SparkPythonTask

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 poleceń --jars i --py-files , aby dodać biblioteki Java i Python oraz --conf ustawić konfigurację platformy Spark.
  • master, deploy-modei executor-cores są automatycznie konfigurowane przez usługę Azure Databricks; nie można ich określić w parametrach.
  • Domyślnie zadanie przesyłania platformy Spark używa całej dostępnej pamięci (z wyjątkiem pamięci zarezerwowanej dla usług Azure Databricks). Można ustawić --driver-memorywartość i --executor-memory na mniejszą wartość, aby pozostawić trochę miejsca na użycie stert.
  • Argumenty --jars, --files--py-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 parametry.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}

Typ wyzwalacza

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

Typ Opis
OKRESOWE Harmonogramy, które okresowo wyzwalają przebiegi, takie jak harmonogram cron.
ONE_TIME Jednorazowe wyzwalacze, które uruchamiają pojedynczy przebieg. Dzieje się tak, gdy jeden przebieg został wyzwolony na żądanie za pośrednictwem interfejsu użytkownika lub interfejsu API.
PONÓW PRÓBĘ 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 Typ Opis
zawartość STRING Zawartość widoku.
name STRING Nazwa elementu widoku. W przypadku widoku kodu nazwa notesu. W przypadku widoku pulpitu nawigacyjnego nazwa pulpitu nawigacyjnego.
typ Typ widoku Typ elementu widoku.

Typ widoku

Typ Opis
NOTEBOOK Element widoku notesu.
PULPIT NAWIGACYJNY Element widoku pulpitu nawigacyjnego.

WidokiDoEksportuj

Wyświetl do wyeksportowania: kod, wszystkie pulpity nawigacyjne lub wszystkie.

Typ Opis
CODE Widok kodu notesu.
PULPITY NAWIGACYJNE Wszystkie widoki pulpitu nawigacyjnego notesu.
ALL Wszystkie widoki notesu.