Sdílet prostřednictvím


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

Důležité

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

Tyto informace platí pro starší verzi Rozhraní příkazového řádku Databricks verze 0.18 a novější. Databricks doporučuje místo toho použít novější rozhraní příkazového řádku Databricks verze 0.205 nebo vyšší. Podívejte se, co je rozhraní příkazového řádku Databricks? 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.

Úlohy Databricks spouštíte podpříkazy rozhraní příkazového řádku tím, že je připojíte k databricks jobs úloze Databricks a spustíte podpříkazy rozhraní příkazového řádku tak, že je připojíte 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 dílčí příkazy volají rozhraní API úloh a rozhraní API úloh 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 Plán a orchestrace pracovních postupů a aktualizace z rozhraní API úloh 2.0 na verzi 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 spouští rozhraní příkazového řádku úlohy) k volání rozhraní REST API úloh 2.1, 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 toto nastavení jobs-api-version = 2.1 přidá do souboru ~/.databrickscfg v systémech Unix, Linux nebo macOS nebo %USERPROFILE%\.databrickscfg ve Windows. Ve výchozím nastavení budou všechny podpříkazy rozhraní příkazového řádku úloh (a spuštění úlohy) volat rozhraní REST API úloh 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 Windows. Ve výchozím nastavení budou všechny podpříkazy rozhraní příkazového řádku úloh (a spuštění úlohy) volat rozhraní REST API úloh 2.1.
    • Připojte možnost --version=2.1 (například databricks jobs list --version=2.1) k pokynu rozhraní příkazového řádku úloh, aby volala pouze rozhraní REST API úloh 2.1 pro toto volání.

    Pokud provedete žádnou z předchozích akcí, rozhraní příkazového řádku úloh (a rozhraní příkazového řádku úlohy) bude ve výchozím nastavení volat rozhraní REST API úloh 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 spouští rozhraní příkazového řádku úlohy) k volání rozhraní REST API úloh 2.0, udělejte jednu z těchto věcí:

  • 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 toto nastavení jobs-api-version = 2.0 přidá do souboru ~/.databrickscfg v systémech Unix, Linux nebo macOS nebo %USERPROFILE%\.databrickscfg ve Windows. Ve výchozím nastavení budou všechny podpříkazy rozhraní příkazového řádku úloh (a spuštění úlohy) volat rozhraní 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 Windows. Ve výchozím nastavení budou všechny podpříkazy rozhraní příkazového řádku úloh (a spuštění úlohy) volat rozhraní REST API úloh 2.0.
    • Připojte možnost --version=2.1 (například databricks jobs list --version=2.0) k pokynu rozhraní příkazového řádku úloh, aby volala rozhraní REST API úloh 2.0 pouze pro toto volání.

Pokud provedete žádnou z předchozích akcí, rozhraní příkazového řádku úloh (a rozhraní příkazového řádku úlohy) bude ve výchozím nastavení volat rozhraní REST API úloh 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ření úlohy

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í cli 2.1 pro úlohy 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 úlohy 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 }

Tip

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 }

Odstranění úlohy

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.

Tip

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úlohy . 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 úlohy a příklad odpovědi

Viz Získání aktualizace z rozhraní API úloh 2.0 na verzi 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 úlohy 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 (jenom rozhraní 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

Stránka se seznamem ú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 tyto argumenty použít--limit, musíte nastavit verzi rozhraní API na 2.1.--offset

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í ukázkové stránky procházející seznamem úloh najednou 10 úloh 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í cli 2.1 pro úlohy a příklad požadavku

Viz Aktualizace a obnovení v aktualizaci z rozhraní API úloh 2.0 na verzi 2.1.

Příklad požadavku Cli 2.0 pro úlohy

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.

Spuštění úlohy

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
}