Rozhraní příkazového řádku pro úlohy (starší verze)

Důležité

Tato dokumentace byla vyřazena a nemusí být aktualizována.

Tyto informace platí pro starší verze Rozhraní příkazového řádku Databricks 0.18 a starší. Databricks doporučuje místo toho použít novější rozhraní příkazového řádku Databricks verze 0.205 nebo vyšší. Vizte Databricks CLI. Pokud chcete zjistit svou verzi rozhraní příkazového řádku Databricks, spusťte databricks -vpříkaz .

Pokud chcete migrovat z Rozhraní příkazového řádku Databricks verze 0.18 nebo novější na Databricks CLI verze 0.205 nebo novější, přečtěte si téma Migrace rozhraní příkazového řádku Databricks.

Subpříkazy CLI pro úlohy Databricks spouštíte jejich připojením k databricks jobs, a subpříkazy CLI pro běhy úloh Databricks spouštíte jejich připojením k databricks runs. V případě úlohy Databricks běží podpříkazy rozhraní příkazového řádku, viz rozhraní příkazového řádku (starší verze). Společně tyto podpříkazy volají Jobs API a Jobs API 2.0.

Důležité

Rozhraní příkazového řádku úloh Databricks podporuje volání dvou verzí rozhraní REST API pro úlohy Databricks: verze 2.1 a 2.0. Verze 2.1 přidává podporu orchestrace úloh s více úlohami; Viz Úlohy Lakeflow a aktualizace z rozhraní API úloh 2.0 na 2.1. Databricks doporučuje volat verzi 2.1, pokud nemáte starší skripty, které spoléhají na verzi 2.0 a které nelze migrovat.

Pokud není uvedeno jinak, programové chování popsané v tomto článku platí stejně pro verze 2.1 a 2.0.

Požadavky na volání rozhraní REST API úloh 2.1

Pokud chcete nastavit a používat rozhraní příkazového řádku úloh Databricks (a rozhraní příkazového řádku pro spouštění úloh) k volání REST API 2.1 pro úlohy, postupujte takto:

  1. Aktualizujte rozhraní příkazového řádku na verzi 0.16.0 nebo vyšší.

  2. Proveďte některou z následujících akcí:

    • Spusťte příkaz databricks jobs configure --version=2.1. Tím se do souboru jobs-api-version = 2.1 v systémech Unix, Linux nebo macOS nebo ~/.databrickscfg na Windows přidá nastavení %USERPROFILE%\.databrickscfg. Ve výchozím nastavení budou všechny podpříkazy CLI pro úlohy (i podpříkazy pro spuštění úloh) volat rozhraní Jobs REST API 2.1.
    • Ručně přidejte nastavení jobs-api-version = 2.1 do souboru ~/.databrickscfg v systémech Unix, Linux nebo macOS nebo %USERPROFILE%\.databrickscfg na Windows. Ve výchozím nastavení budou všechny podpříkazy CLI pro úlohy (i podpříkazy pro spuštění úloh) volat rozhraní Jobs REST API 2.1.
    • Připojte možnost --version=2.1 (například databricks jobs list --version=2.1) k rozhraní příkazového řádku úloh, aby rozhraní příkazového řádku úloh vyvolalo rozhraní REST API úloh 2.1 pouze pro toto konkrétní volání.

    Pokud neprovedete žádnou z předchozích akcí, rozhraní příkazového řádku úloh (a rozhraní příkazového řádku spouštění úloh) ve výchozím nastavení zavolá rozhraní REST API úloh verze 2.0.

Požadavky na volání rozhraní REST API úloh 2.0

Pokud chcete nastavit a používat rozhraní příkazového řádku úloh Databricks (a rozhraní příkazového řádku pro spuštěné úlohy) k volání rozhraní REST API úloh 2.0, proveďte jednu z následujících možností:

  • Použijte verzi rozhraní příkazového řádku Databricks nižší než 0.16.0 nebo
  • Aktualizujte rozhraní příkazového řádku na verzi X.Y.Z nebo novější a proveďte jednu z následujících věcí:
    • Spusťte příkaz databricks jobs configure --version=2.0. Tím se do souboru jobs-api-version = 2.0 v systémech Unix, Linux nebo macOS nebo ~/.databrickscfg na Windows přidá nastavení %USERPROFILE%\.databrickscfg. Ve výchozím nastavení budou všechny podpříkazy CLI pro úlohy (a CLI pro spuštění úloh) volat REST API úloh 2.0.
    • Ručně přidejte nastavení jobs-api-version = 2.0 do souboru ~/.databrickscfg v systémech Unix, Linux nebo macOS nebo %USERPROFILE%\.databrickscfg na Windows. Ve výchozím nastavení budou všechny podpříkazy CLI pro úlohy (a CLI pro spuštění úloh) volat REST API úloh 2.0.
    • Připojte možnost --version=2.1 (například databricks jobs list --version=2.0) k příkazovému řádku úloh, abyste jej nasměrovali na volání rozhraní Jobs REST API 2.0 pouze pro toto volání.

Pokud neprovedete žádnou z předchozích akcí, rozhraní příkazového řádku úloh (a rozhraní příkazového řádku spouštění úloh) ve výchozím nastavení zavolá rozhraní REST API úloh verze 2.0.

Dílčí příkazy a obecné použití

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

Vytvořit pracovní pozici

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs create --helppříkaz .

Obecné použití

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

Poznámky k využití Jobs CLI 2.1 a příklad požadavku.

Viz Vytvoření v aktualizaci z rozhraní API úloh 2.0 na verzi 2.1.

Příklad datové části žádosti a odpovědi pro 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 }

Návod

Pokud chcete zkopírovat úlohu, spusťte create příkaz a předejte objekt JSON s nastavením úlohy, která se má zkopírovat. Tento příklad zkopíruje nastavení úlohy s ID 246 do nové úlohy. Vyžaduje nástroj jq.

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

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

Smazat úlohu

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs delete --helppříkaz .

databricks job delete --job-id 246

V případě úspěchu se nezobrazí žádný výstup.

Návod

Pokud chcete odstranit více úloh se stejným nastavením, získejte seznam ID úloh, které odpovídají danému nastavení, a pak spusťte delete příkaz pro každé odpovídající ID úlohy. Tento příklad odstraní všechny úlohy s názvem Untitled. Vyžaduje nástroj jq.

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

Výpis informací o úloze

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs get --helppříkaz .

Obecné použití

databricks jobs get --job-id 246

Poznámky k využití CLI 2.1 pro jobs a příklad odpovědi

Viz Získání v Aktualizace z rozhraní API úloh 2.0 na 2.1.

Příklad odpovědi CLI 2.0 pro úlohy

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

Výpis informací o dostupných úlohách

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs list --helppříkaz .

Obecné použití

databricks jobs list

Poznámky k využití CLI 2.1 pro jobs a příklad odpovědi

Viz seznam aktualizací z rozhraní API úloh 2.0 na verzi 2.1.

Příklad odpovědi CLI 2.0 pro úlohy

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

Výpis všech úloh (pouze verze API 2.1)

Pokud chcete rozhraní příkazového řádku instruovat, aby vrátilo všechny úlohy tak, že provedete postupné volání rozhraní API, použijte tuto --all možnost. Pokud chcete tuto možnost použít --all , musíte nastavit verzi rozhraní API na 2.1.

databricks jobs list --all

Procházení seznamu úloh (pouze rozhraní API 2.1)

Pokud chcete vrátit seznam stránkovaných úloh, použijte argumenty --limit a --offset argumenty. Ve výchozím nastavení se seznam úloh vrátí jako tabulka obsahující ID úlohy a název úlohy. Pokud chcete volitelně vrátit dokument JSON obsahující informace o úloze, použijte --output JSON argument.

Pokud chcete použít argumenty --limit a --offset, musíte nastavit verzi API na 2.1.

Při použití --output JSONse seznam vrátí sestupně podle data vytvoření úlohy. Při použití --output TABLEse seznam vrátí sestupně podle data vytvoření úlohy a pak seřadí abecedně podle názvu úlohy.

Následující příklad prochází seznamem úloh po 10 úlohách najednou a vrací výsledky ve formátu 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

Změna nastavení pro úlohu

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs reset --helppříkaz .

Obecné použití

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

Poznámky k využití Jobs CLI 2.1 a příklad požadavku.

Viz Aktualizace a Obnovení v Aktualizaci z Jobs API 2.0 na 2.1.

Příklad požadavku pro Jobs CLI 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"]
  }
}

V případě úspěchu se nezobrazí žádný výstup.

Spustit úlohu

Pokud chcete zobrazit dokumentaci k použití, spusťte databricks jobs run-now --helppříkaz .

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