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. Usługa Databricks zaleca użycie nowszego interfejsu wiersza polecenia usługi Databricks w wersji 0.205 lub nowszej. 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 polecenia interfejsu wiersza polecenia zadań usługi Databricks, dołączając je do databricks jobs polecenia i zadanie usługi Databricks uruchamia podpolecenia interfejsu wiersza polecenia, dołączając je do databricks runspolecenia . W przypadku zadania usługi Databricks uruchamia polecenia podrzędne interfejsu wiersza polecenia, zobacz interfejs wiersza polecenia uruchamiania (starsza wersja). Razem te podpolecenia wywołają 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ń z wieloma zadaniami; Zobacz Planowanie i organizowanie przepływów pracy oraz Aktualizowanie z interfejsu API zadań 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 interfejsu API REST zadań 2.1

Aby skonfigurować interfejs wiersza polecenia zadań usługi Databricks i użyć go do wywołania interfejsu API REST zadań 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 polecenia interfejsu wiersza polecenia (i zadania uruchamiają interfejs wiersza polecenia) będą domyślnie wywoływać interfejs API REST zadań 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 polecenia interfejsu wiersza polecenia (i zadania uruchamiają interfejs wiersza polecenia) będą domyślnie wywoływać interfejs API REST zadań 2.1.
    • Dołącz opcję --version=2.1 (na przykład databricks jobs list --version=2.1), aby poinstruować interfejs wiersza polecenia zadań w celu wywołania interfejsu API REST zadań w wersji 2.1 tylko dla tego wywołania.

    Jeśli nie wykonasz żadnej z powyższych akcji, interfejs wiersza polecenia zadań (i uruchamia interfejs wiersza polecenia zadania) domyślnie wywoła interfejs API REST zadań 2.0.

Wymagania dotyczące wywoływania interfejsu API REST zadań 2.0

Aby skonfigurować interfejs wiersza polecenia zadań usługi Databricks i użyć go do wywołania interfejsu API REST zadań 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 polecenia 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 polecenia interfejsu wiersza polecenia zadań (i zadania uruchamiają interfejs wiersza polecenia) będą domyślnie wywoływać 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 polecenia interfejsu wiersza polecenia zadań (i zadania uruchamiają interfejs wiersza polecenia) będą domyślnie wywoływać 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 żadnej z powyższych akcji, interfejs wiersza polecenia zadań (i uruchamia interfejs wiersza polecenia zadania) 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"]'

Tworzenie zadania

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

Ogólne użycie

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

Przykład użycia interfejsu wiersza polecenia zadań 2.1 i żądania

Zobacz Artykuł Create in Updating from Jobs API 2.0 to 2.1 (Tworzenie w aktualizowaniu z interfejsu API zadań 2.0 do 2.1).

Przykład ładunku żądania i odpowiedzi dla interfejsu wiersza polecenia zadań 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 delete polecenie dla każdego zgodnego identyfikatora zadania. W tym przykładzie wszystkie zadania są usuwane z nazwą Untitledzadania . 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

Wyświetlanie listy informacji o zadaniu

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

Ogólne użycie

databricks jobs get --job-id 246

Przykładowe informacje o użyciu i odpowiedzi interfejsu wiersza polecenia zadań 2.1

Zobacz Pobieranie aktualizacji z interfejsu API zadań 2.0 do 2.1.

Przykład odpowiedzi interfejsu wiersza polecenia zadań 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"
}

Wyświetlanie listy informacji o dostępnych zadaniach

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

Ogólne użycie

databricks jobs list

Przykładowe informacje o użyciu i odpowiedzi interfejsu wiersza polecenia zadań 2.1

Zobacz Artykuł List in Updating from Jobs API 2.0 to 2.1 (Lista w aktualizowaniu z interfejsu API zadań 2.0 do 2.1).

Przykład odpowiedzi interfejsu wiersza polecenia zadań 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świetlanie listy wszystkich zadań (tylko interfejs 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ć --all tej opcji, należy ustawić wersję interfejsu API na 2.1.

databricks jobs list --all

Stronicuj listę zadań (tylko interfejs API 2.1)

Aby zwrócić listę zadań podzielonych na strony, użyj --limit argumentów 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ć --limit argumentów i --offset , należy ustawić wersję interfejsu API na 2.1.

W przypadku korzystania z --output JSONelementu lista jest zwracana w kolejności malejącej według daty utworzenia zadania. W przypadku korzystania z --output TABLEelementu lista 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

Przykład użycia interfejsu wiersza polecenia zadań 2.1 i żądania

Zobacz Aktualizowanie i resetowanie w temacie Aktualizowanie z interfejsu API zadań w wersji 2.0 do 2.1.

Przykład żądania interfejsu wiersza polecenia zadań 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
}