Feladatok parancssori felülete (örökölt)

Fontos

Ez a dokumentáció ki lett állítva, és lehet, hogy nem frissül.

Ezek az információk az örökölt Databricks CLI 0.18-s és újabb verzióira vonatkoznak. A Databricks azt javasolja, hogy helyette a Databricks CLI 0.205-ös vagy újabb verzióját használja. Lásd: Mi a Databricks parancssori felület? A Databricks parancssori felület verziójának megkereséséhez futtassa a következőt databricks -v: .

Ha a Databricks CLI 0.18-os vagy újabb verziójáról a Databricks CLI 0.205-ös vagy újabb verziójára szeretne migrálni, tekintse meg a Databricks parancssori felület migrálását.

A Databricks-feladatok parancssori felületének alparancsait úgy futtathatja, hogy databricks jobs hozzáfűzi őket, a Databricks-feladat pedig cli-alparancsokat databricks runsfuttat. A Databricks-feladat parancssori felületi alparancsait a Futtatás parancssori felület (örökölt) című témakörben talál. Ezek az alparancsok együttesen hívják a Jobs API-t és a Jobs API 2.0-t.

Fontos

A Databricks-feladatok parancssori felülete támogatja a Databricks Jobs REST API két verziójának hívását: a 2.1-es és a 2.0-s verziót. A 2.1-es verzió támogatja a több feladattal rendelkező feladatok vezénylését; Lásd: Azure Databricks-feladatok létrehozása és futtatása és frissítése a Jobs API 2.0-ról 2.1-esre. A Databricks azt javasolja, hogy hívja meg a 2.1-es verziót, hacsak nem rendelkezik olyan régi szkriptekkel, amelyek a 2.0-s verzióra támaszkodnak, és amelyek nem migrálhatók.

Eltérő rendelkezés hiányában a cikkben ismertetett programozott viselkedések a 2.1 és a 2.0 verzióra egyaránt érvényesek.

A Jobs REST API 2.1 meghívásának követelményei

A Databricks-feladatok parancssori felületének (és a feladatfuttatási parancssori felületnek) a Jobs REST API 2.1 meghívásához való beállításához és használatához tegye a következőket:

  1. Frissítse a parancssori felületet a 0.16.0-s vagy újabb verzióra.

  2. Válasszon a következő lehetőségek közül:

    • Run the databricks jobs configure --version=2.1 command. Ezzel hozzáadja a beállítást jobs-api-version = 2.1 a fájlhoz ~/.databrickscfg Unix, Linux vagy macOS rendszeren vagy %USERPROFILE%\.databrickscfg Windows rendszeren. Minden feladat parancssori felületének (és a feladat futtatásának parancssori felületének) alparancsai alapértelmezés szerint meghívják a Jobs REST API 2.1-et.
    • Adja hozzá manuálisan a beállítást jobs-api-version = 2.1 a fájlhoz ~/.databrickscfg Unix, Linux vagy macOS rendszeren vagy %USERPROFILE%\.databrickscfg Windows rendszeren. Minden feladat parancssori felületének (és a feladat futtatásának parancssori felületének) alparancsai alapértelmezés szerint meghívják a Jobs REST API 2.1-et.
    • Fűzze hozzá a lehetőséget --version=2.1 (például databricks jobs list --version=2.1) a feladatok parancssori felületének meghívásához, hogy csak az adott híváshoz hívja meg a Jobs REST API 2.1-et.

    Ha az előző műveletek egyikét sem hajtja végre, a feladatok parancssori felülete (és a feladatfuttatási parancssori felület) alapértelmezés szerint meghívja a Jobs REST API 2.0-t.

A Jobs REST API 2.0 meghívásának követelményei

A Databricks-feladatok parancssori felületének (és a feladat futtatásának parancssori felületének) a Feladatok REST API 2.0 meghívásához való beállításához és használatához tegye az alábbiak egyikét:

  • Használja a Databricks PARANCSSOR 0.16.0 alatti verzióját, vagy
  • Frissítse a parancssori felületet az X.Y.Z vagy újabb verzióra, majd hajtsa végre az alábbi műveletek egyikét:
    • Run the databricks jobs configure --version=2.0 command. Ezzel hozzáadja a beállítást jobs-api-version = 2.0 a fájlhoz ~/.databrickscfg Unix, Linux vagy macOS rendszeren vagy %USERPROFILE%\.databrickscfg Windows rendszeren. Az összes feladat parancssori felületének (és a feladat futtatásának parancssori felületének) alparancsai alapértelmezés szerint meghívják a Jobs REST API 2.0-t.
    • Adja hozzá manuálisan a beállítást jobs-api-version = 2.0 a fájlhoz ~/.databrickscfg Unix, Linux vagy macOS rendszeren vagy %USERPROFILE%\.databrickscfg Windows rendszeren. Az összes feladat parancssori felületének (és a feladat futtatásának parancssori felületének) alparancsai alapértelmezés szerint meghívják a Jobs REST API 2.0-t.
    • Fűzze hozzá a lehetőséget --version=2.1 (például databricks jobs list --version=2.0) a feladatok parancssori felületének meghívásához, hogy csak az adott híváshoz hívja meg a Jobs REST API 2.0-t.

Ha az előző műveletek egyikét sem hajtja végre, a feladatok parancssori felülete (és a feladatfuttatási parancssori felület) alapértelmezés szerint meghívja a Jobs REST API 2.0-t.

Alparancsok és általános használat

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

Feladat létrehozása

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs create --help:

Általános használat

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

Feladatok CLI 2.1 használati megjegyzései és kérési példa

Lásd: Létrehozás a Jobs API 2.0-ról 2.1-es frissítésre.

Feladat cli 2.0 kérelem hasznos adatok és válasz példa

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 }

Tipp.

Feladat másolásához futtassa a create parancsot, és adjon át egy JSON-objektumot a másolandó feladat beállításaival. Ez a példa a feladat beállításait egy új feladatba másolja az azonosítójával 246 . Ehhez a jq segédprogramra van szükség.

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

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

Feladat törlése

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs delete --help:

databricks job delete --job-id 246

Ha sikeres, nem jelenik meg kimenet.

Tipp.

Ha több, azonos beállítással rendelkező feladatot szeretne törölni, kérje le az adott beállításnak megfelelő feladatazonosítók listáját, majd futtassa az delete egyes feladatazonosítók parancsát. Ez a példa az összes olyan feladatot törli, amelynek a feladat neve Untitled. Ehhez a jq segédprogramra van szükség.

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

Feladat adatainak listázása

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs get --help:

Általános használat

databricks jobs get --job-id 246

Feladatok CLI 2.1 használati megjegyzések és válasz példa

Lásd: Get in Frissítés a Jobs API 2.0-ról 2.1-esre.

Feladat cli 2.0 válasz példája

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

Az elérhető feladatok adatainak listázása

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs list --help:

Általános használat

databricks jobs list

Feladatok CLI 2.1 használati megjegyzések és válasz példa

Lásd a Jobs API 2.0-ról 2.1-esre való frissítés listáját.

Feladat cli 2.0 válasz példája

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

Az összes feladat listázása (csak API 2.1)

Ha azt szeretné, hogy a parancssori felület szekvenciális hívásokkal küldje vissza az összes feladatot az API-nak, használja a --all lehetőséget. A beállítás használatához --all az API-verziót 2.1-esre kell állítania.

databricks jobs list --all

A feladatok listájának lapozása (csak API 2.1)

Lapszámozott feladatok listájának visszaadásához használja az argumentumokat és --offset az --limit argumentumokat. Alapértelmezés szerint a feladatlista a feladatazonosítót és a feladatnevet tartalmazó táblaként lesz visszaadva. Ha feladatadatokat tartalmazó JSON-dokumentumot szeretne visszaadni, használja az --output JSON argumentumot.

Az és az --limit--offset argumentumok használatához az API-verziót 2.1-esre kell állítania.

Ha ezt használja --output JSON, a rendszer csökkenő sorrendben adja vissza a listát a feladatlétrehozási dátum szerint. Ha ezt használja --output TABLE, a rendszer csökkenő sorrendben adja vissza a listát a feladatlétrehozási dátum alapján, majd a feladat neve szerint betűrendbe rendezve.

Az alábbi példa egyszerre 10 feladatot sorol fel a feladatok listájában, és az eredményeket JSON formátumban adja vissza:

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

Feladat beállításainak módosítása

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs reset --help:

Általános használat

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

Feladatok CLI 2.1 használati megjegyzései és kérési példa

Lásd: Frissítés és visszaállítás a Jobs API 2.0-ról 2.1-esre történő frissítésében.

Feladat cli 2.0 kérési példa

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

Ha sikeres, nem jelenik meg kimenet.

Feladat futtatása

A használati dokumentáció megjelenítéséhez futtassa a következőt databricks jobs run-now --help:

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