Udostępnij przez


Interfejs wiersza polecenia zadań (starsza wersja)

Ważne

Ta dokumentacja została wycofana i może nie zostać zaktualizowana.

Te informacje dotyczą starszych wersji interfejsu wiersza polecenia usługi Databricks w wersji 0.18 i poniżej. Databricks zaleca użycie nowszej wersji interfejsu wiersza polecenia Databricks CLI, co najmniej 0.205 lub wyższej. Zobacz Co to jest interfejs wiersza polecenia usługi Databricks?. Aby znaleźć swoją wersję interfejsu wiersza polecenia usługi Databricks, uruchom polecenie databricks -v.

Aby przeprowadzić migrację z interfejsu wiersza polecenia usługi Databricks w wersji 0.18 lub nowszej do interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej, zobacz Migracja interfejsu wiersza polecenia usługi Databricks.

Uruchamiasz podpolecenia interfejsu wiersza polecenia Databricks, dołączając je do databricks jobs, a podpolecenia uruchamiania zadań Databricks uruchamiasz, dołączając je do databricks runs. W przypadku uruchomień zadań usługi Databricks zobacz polecenia podrzędne CLI w sekcji interfejs wiersza polecenia uruchamiania (starsza wersja). Razem te podpolecenia wywołują interfejs API zadań i interfejs API zadań 2.0.

Ważne

Interfejs wiersza polecenia zadań usługi Databricks obsługuje wywołania dwóch wersji interfejsu API REST zadań usługi Databricks: w wersjach 2.1 i 2.0. Wersja 2.1 dodaje obsługę orkiestracji zadań składających się z wielu czynności; zobacz Zadania usługi Lakeflow i Aktualizowanie z interfejsu API zadań w wersji 2.0 do 2.1. Usługa Databricks zaleca wywołanie wersji 2.1, chyba że masz starsze skrypty, które korzystają z wersji 2.0 i których nie można migrować.

O ile nie określono inaczej, zachowania programowe opisane w tym artykule mają zastosowanie równie do wersji 2.1 i 2.0.

Wymagania dotyczące wywoływania Jobs REST API wersja 2.1

Aby skonfigurować i używać Databricks jobs CLI oraz job runs CLI do wywoływania Jobs REST API 2.1, wykonaj następujące czynności:

  1. Zaktualizuj interfejs wiersza polecenia do wersji 0.16.0 lub nowszej.

  2. Wykonaj jedną z następujących czynności:

    • Uruchom polecenie databricks jobs configure --version=2.1. Spowoduje to dodanie ustawienia jobs-api-version = 2.1 do pliku ~/.databrickscfg w systemach Unix, Linux lub macOS lub %USERPROFILE%\.databrickscfg Windows. Wszystkie podkomendy CLI zadań (i uruchomień zadań CLI) będą domyślnie wywoływać Jobs REST API w wersji 2.1.
    • Ręcznie dodaj ustawienie jobs-api-version = 2.1 do pliku ~/.databrickscfg w systemach Unix, Linux lub macOS lub %USERPROFILE%\.databrickscfg Windows. Wszystkie podkomendy CLI zadań (i uruchomień zadań CLI) będą domyślnie wywoływać Jobs REST API w wersji 2.1.
    • Dołącz opcję --version=2.1 (na przykład databricks jobs list --version=2.1), aby interfejs wiersza polecenia zadań wywołał REST API Zadań 2.1 wyłącznie dla tego wywołania.

    Jeśli nie wykonasz żadnego z powyższych działań, interfejs wiersza polecenia zadań (oraz uruchamiania zadań z użyciem wiersza polecenia) domyślnie wywoła interfejs API REST zadań 2.0.

Wymagania dotyczące wywoływania interfejsu Jobs REST API 2.0

Aby skonfigurować i używać interfejsu wiersza polecenia Databricks Jobs CLI oraz Jobs Runs CLI do wywoływania interfejsu Jobs REST API 2.0, wykonaj jedną z następujących czynności:

  • Użyj wersji interfejsu wiersza polecenia usługi Databricks poniżej wersji 0.16.0 lub
  • Zaktualizuj interfejs wiersza poleceń do wersji X.Y.Z lub nowszej, a następnie wykonaj jedną z następujących czynności:
    • Uruchom polecenie databricks jobs configure --version=2.0. Spowoduje to dodanie ustawienia jobs-api-version = 2.0 do pliku ~/.databrickscfg w systemach Unix, Linux lub macOS lub %USERPROFILE%\.databrickscfg Windows. Wszystkie podpolecenia interfejsu wiersza poleceń zadań, jak i uruchomienia zadań w interfejsie wiersza poleceń, będą domyślnie wywoływały interfejs API REST zadań 2.0.
    • Ręcznie dodaj ustawienie jobs-api-version = 2.0 do pliku ~/.databrickscfg w systemach Unix, Linux lub macOS lub %USERPROFILE%\.databrickscfg Windows. Wszystkie podpolecenia interfejsu wiersza poleceń zadań, jak i uruchomienia zadań w interfejsie wiersza poleceń, będą domyślnie wywoływały interfejs API REST zadań 2.0.
    • Dołącz opcję --version=2.1 (na przykład databricks jobs list --version=2.0), aby poinstruować interfejs wiersza polecenia zadań w celu wywołania interfejsu API REST zadań w wersji 2.0 tylko dla tego wywołania.

Jeśli nie wykonasz żadnego z powyższych działań, interfejs wiersza polecenia zadań (oraz uruchamiania zadań z użyciem wiersza polecenia) domyślnie wywoła interfejs API REST zadań 2.0.

Podpolecenia i ogólne użycie

databricks jobs -h
Usage: databricks jobs [OPTIONS] COMMAND [ARGS]...

  Utility to interact with jobs.

  Job runs are handled by ``databricks runs``.

Options:
  -v, --version  [VERSION]
  -h, --help     Show this message and exit.

Commands:
  create   Creates a job.
    Options:
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  delete   Deletes a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  get      Describes the metadata for a job.
    Options:
    --job-id JOB_ID               Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
  list     Lists the jobs in the Databricks Job Service.
  reset    Resets (edits) the definition of a job.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/?o=<16-digit-number>#job/$JOB_ID. [required]
      --json-file PATH            File containing JSON request to POST to /api/2.0/jobs/create.
      --json JSON                 JSON string to POST to /api/2.0/jobs/create.
  run-now  Runs a job with optional per-run parameters.
    Options:
      --job-id JOB_ID             Can be found in the URL at https://<databricks-instance>/#job/$JOB_ID. [required]
      --jar-params JSON           JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --notebook-params JSON      JSON string specifying a map of key-value pairs. i.e. '{"name": "john doe", "age": 35}'
      --python-params JSON        JSON string specifying an array of parameters. i.e. '["param1", "param2"]'
      --spark-submit-params JSON  JSON string specifying an array of parameters. i.e. '["--class", "org.apache.spark.examples.SparkPi"]'

Utwórz pracę

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs create --help.

Ogólne użycie

databricks jobs create --json-file create-job.json

Notatki dotyczące użytkowania Jobs CLI 2.1 oraz przykład żądania

Zobacz Tworzenie w Aktualizowanie z Interfejsu API Zadań 2.0 do 2.1.

Przykład ładunku żądania i odpowiedzi dla Jobs CLI 2.0

create-job.json:

{
  "name": "my-job",
  "existing_cluster_id": "1234-567890-reef123",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Notebook"
  },
  "email_notifications": {
    "on_success": ["someone@example.com"],
    "on_failure": ["someone@example.com"]
  }
}
{ "job_id": 246 }

Napiwek

Aby skopiować zadanie, uruchom create polecenie i przekaż obiekt JSON z ustawieniami zadania do skopiowania. Ten przykład kopiuje ustawienia zadania z identyfikatorem 246 do nowego zadania. Wymaga narzędzia jq.

SETTINGS_JSON=$(databricks jobs get --job-id 246 | jq .settings)

databricks jobs create --json "$SETTINGS_JSON"
{ "job_id": 247 }

Usuwanie zadania

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs delete --help.

databricks job delete --job-id 246

W przypadku powodzenia żadne dane wyjściowe nie są wyświetlane.

Napiwek

Aby usunąć wiele zadań mających to samo ustawienie, pobierz listę identyfikatorów zadań pasujących do tego ustawienia, a następnie uruchom polecenie delete dla każdego zgodnego identyfikatora zadania. Ten przykład usuwa wszystkie zadania o nazwie Untitled. Wymaga narzędzia jq.

databricks jobs list --output json | jq '.jobs[] | select(.settings.name == "Untitled") | .job_id' | xargs -n 1 databricks jobs delete --job-id

Listowanie informacji o pracy

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs get --help.

Ogólne użycie

databricks jobs get --job-id 246

Notatki dotyczące użycia i przykład odpowiedzi dla Jobs CLI 2.1

Zobacz Pobierz w Aktualizowanie z Jobs API 2.0 do 2.1.

Przykład odpowiedzi Jobs CLI 2.0

{
  "job_id": 246,
  "settings": {
    "name": "my-job",
    "existing_cluster_id": "1234-567890-reef123",
    "email_notifications": {
      "on_success": [
        "someone@example.com"
      ],
      "on_failure": [
        "someone@example.com"
      ]
    },
    "timeout_seconds": 0,
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/My Notebook"
    },
    "max_concurrent_runs": 1
  },
  "created_time": 1620163107742,
  "creator_user_name": "someone@example.com"
}

Lista informacji o dostępnych ofertach pracy

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs list --help.

Ogólne użycie

databricks jobs list

Notatki dotyczące użycia i przykład odpowiedzi dla Jobs CLI 2.1

Zobacz Listę w Aktualizowaniu z Jobs API 2.0 do 2.1.

Przykład odpowiedzi Jobs CLI 2.0

{
  "jobs": [
    {
      "job_id": 246,
      "settings": {
        "name": "my-job",
        "existing_cluster_id": "1234-567890-reef123",
        "email_notifications": {
          "on_success": [
            "someone@example.com"
          ],
          "on_failure": [
            "someone@example.com"
          ]
        },
        "timeout_seconds": 0,
        "notebook_task": {
          "notebook_path": "/Users/someone@example.com/My Notebook"
        },
        "max_concurrent_runs": 1
      },
      "created_time": 1620163107742,
      "creator_user_name": "someone@example.com"
    },
    ...
  ]
}

Wyświetl wszystkie zadania (tylko API 2.1)

Aby poinstruować interfejs wiersza polecenia, aby zwracał wszystkie zadania, wykonując sekwencyjne wywołania interfejsu API, użyj --all opcji . Aby użyć opcji --all, należy ustawić wersję interfejsu API na 2.1.

databricks jobs list --all

Przeglądaj listę zadań (tylko dla wersji API 2.1)

Aby zwrócić listę zadań podzielonych na strony, użyj argumentów --limit i --offset. Domyślnie lista zadań jest zwracana jako tabela zawierająca identyfikator zadania i nazwę zadania. Aby opcjonalnie zwrócić dokument JSON zawierający informacje o zadaniu, użyj argumentu --output JSON .

Aby użyć argumentów --limit i --offset, należy ustawić wersję interfejsu API na 2.1.

W przypadku korzystania z --output JSONlista jest zwracana w kolejności malejącej według daty utworzenia zadania. W przypadku używania --output TABLElista jest zwracana w kolejności malejącej według daty utworzenia zadania, a następnie sortowana alfabetycznie według nazwy zadania.

Następujące przykładowe strony na liście zadań zawierają 10 zadań jednocześnie i zwracają wyniki w formacie JSON:

databricks jobs list --output JSON --limit 10
databricks jobs list --output JSON --limit 10 --offset 10
databricks jobs list --output JSON --limit 10 --offset 20

Zmienianie ustawień zadania

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs reset --help.

Ogólne użycie

databricks jobs reset --job-id 246 --json-file reset-job.json

Notatki dotyczące użytkowania Jobs CLI 2.1 oraz przykład żądania

Zobacz Aktualizacja i Reset w Aktualizowanie z Jobs API 2.0 do 2.1(aktualizowanie z interfejsu API zadań w wersji 2.0 do 2.1).

Przykład żądania dla interfejsu wiersza polecenia Jobs 2.0

reset-job.json:

{
  "job_id": 246,
  "existing_cluster_id": "2345-678901-batch234",
  "name": "my-changed-job",
  "notebook_task": {
    "notebook_path": "/Users/someone@example.com/My Other Notebook"
  },
  "email_notifications": {
    "on_success": ["someone-else@example.com"],
    "on_failure": ["someone-else@example.com"]
  }
}

W przypadku powodzenia żadne dane wyjściowe nie są wyświetlane.

Uruchamianie zadania

Aby wyświetlić dokumentację użycia, uruchom polecenie databricks jobs run-now --help.

databricks jobs run-now --job-id 246
{
  "run_id": 122,
  "number_in_job": 1
}