Delen via


Taken CLI (verouderd)

Belangrijk

Deze documentatie is buiten gebruik gesteld en wordt mogelijk niet bijgewerkt.

Deze informatie is van toepassing op verouderde Databricks CLI-versies 0.18 en lager. Databricks raadt u aan om in plaats daarvan nieuwere Databricks CLI versie 0.205 of hoger te gebruiken. Zie Wat is de Databricks CLI? Voer de opdracht uit databricks -vom uw versie van de Databricks CLI te vinden.

Als u wilt migreren van Databricks CLI versie 0.18 of lager naar Databricks CLI versie 0.205 of hoger, raadpleegt u de Cli-migratie van Databricks.

U voert CLI-subopdrachten voor Databricks-taken uit door ze toe te voegen aan databricks jobs en de Databricks-taak voert CLI-subopdrachten uit door ze toe te voegen aan databricks runs. Zie de CLI -uitvoeringen (verouderd) voor de Databricks-taak. Samen roepen deze subopdrachten de Jobs-API en jobs-API 2.0 aan.

Belangrijk

De Databricks-taken CLI ondersteunt aanroepen naar twee versies van de Rest API van Databricks-taken: versies 2.1 en 2.0. Versie 2.1 voegt ondersteuning toe voor het organiseren van taken met meerdere taken; zie Werkstromen plannen en organiseren en bijwerken van taken-API 2.0 naar 2.1. Databricks raadt u aan om versie 2.1 aan te roepen, tenzij u verouderde scripts hebt die afhankelijk zijn van versie 2.0 en die niet kunnen worden gemigreerd.

Tenzij anders opgegeven, gelden de programmatische gedragingen die in dit artikel worden beschreven, evenzeer voor versies 2.1 en 2.0.

Vereisten voor het aanroepen van de TAKEN REST API 2.1

Ga als volgt te werk om de CLI voor Databricks-taken (en taakuitvoeringen CLI) in te stellen en te gebruiken om de REST API voor taken 2.1 aan te roepen:

  1. Werk de CLI bij naar versie 0.16.0 of hoger.

  2. Voer een van de volgende stappen uit:

    • Voer de opdracht databricks jobs configure --version=2.1 uit. Hiermee wordt de instelling jobs-api-version = 2.1 toegevoegd aan het bestand ~/.databrickscfg op Unix, Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Alle cli-taken (en cli-subopdrachten voor taakuitvoeringen) roepen standaard de REST API 2.1 voor taken aan.
    • Voeg de instelling jobs-api-version = 2.1 handmatig toe aan het bestand ~/.databrickscfg op Unix, Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Alle cli-taken (en cli-subopdrachten voor taakuitvoeringen) roepen standaard de REST API 2.1 voor taken aan.
    • Voeg de optie --version=2.1 (bijvoorbeeld databricks jobs list --version=2.1) toe om de TAKEN-CLI te instrueren om alleen de REST API 2.1 voor taken aan te roepen voor die aanroep.

    Als u geen van de voorgaande acties uitvoert, roept de CLI voor taken (en de taak wordt CLI uitgevoerd) standaard de REST API voor taken 2.0 aan.

Vereisten voor het aanroepen van de TAKEN REST API 2.0

Ga op een van de volgende manieren te werk om de CLI voor Databricks-taken (en de CLI voor taakuitvoeringen) in te stellen en te gebruiken om de REST API voor taken 2.0 aan te roepen:

  • Gebruik een versie van de Databricks CLI onder 0.16.0 of
  • Werk de CLI bij naar versie X.Y.Z of hoger en voer een van de volgende handelingen uit:
    • Voer de opdracht databricks jobs configure --version=2.0 uit. Hiermee wordt de instelling jobs-api-version = 2.0 toegevoegd aan het bestand ~/.databrickscfg op Unix, Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Alle cli-taken (en cli-subopdrachten voor taken worden uitgevoerd) roepen standaard de REST API 2.0 voor taken aan.
    • Voeg de instelling jobs-api-version = 2.0 handmatig toe aan het bestand ~/.databrickscfg op Unix, Linux of macOS of %USERPROFILE%\.databrickscfg in Windows. Alle cli-taken (en cli-subopdrachten voor taken worden uitgevoerd) roepen standaard de REST API 2.0 voor taken aan.
    • Voeg de optie --version=2.1 (bijvoorbeeld databricks jobs list --version=2.0) toe om de TAKEN CLI te instrueren om alleen de REST API 2.0 voor taken aan te roepen voor die aanroep.

Als u geen van de voorgaande acties uitvoert, roept de CLI voor taken (en de taak wordt CLI uitgevoerd) standaard de REST API voor taken 2.0 aan.

Subopdrachten en algemeen gebruik

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

Een taak maken

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs create --help.

Algemeen gebruik

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

Cli 2.1-gebruiksnotities en voorbeeld van aanvraag

Zie Maken in Bijwerken van taken-API 2.0 tot en met 2.1.

Voorbeeld van cli 2.0-aanvraag nettolading en antwoord

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

Als u een taak wilt kopiëren, voert u de create opdracht uit en geeft u een JSON-object door met de instellingen van de taak die u wilt kopiëren. In dit voorbeeld worden de instellingen van de taak met de id gekopieerd 246 naar een nieuwe taak. Hiervoor is het hulpprogramma jq vereist.

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

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

Een taak verwijderen

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs delete --help.

databricks job delete --job-id 246

Als dit lukt, wordt er geen uitvoer weergegeven.

Tip

Als u meerdere taken met dezelfde instelling wilt verwijderen, haalt u de lijst op met taak-id's die overeenkomen met die instelling en voert u vervolgens de delete opdracht uit voor elke overeenkomende taak-id. In dit voorbeeld worden alle taken verwijderd met de taaknaam van Untitled. Hiervoor is het hulpprogramma jq vereist.

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

Lijst met informatie over een taak

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs get --help.

Algemeen gebruik

databricks jobs get --job-id 246

Voorbeeld van cli 2.1-gebruiksnotities en antwoordtaken

Zie Bijwerken van taken-API 2.0 tot en met 2.1.

Voorbeeld van cli 2.0-antwoordtaken

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

Lijst met informatie over beschikbare taken

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs list --help.

Algemeen gebruik

databricks jobs list

Voorbeeld van cli 2.1-gebruiksnotities en antwoordtaken

Zie de lijst in Bijwerken van taken-API 2.0 tot en met 2.1.

Voorbeeld van cli 2.0-antwoordtaken

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

Alle taken weergeven (alleen API 2.1)

Als u de CLI wilt instrueren om alle taken te retourneren door sequentiële aanroepen naar de API uit te voeren, gebruikt u de --all optie. Als u de --all optie wilt gebruiken, moet u de API-versie instellen op 2.1.

databricks jobs list --all

Pagina van de takenlijst (alleen API 2.1)

Als u een lijst met gepagineerde taken wilt retourneren, gebruikt u de --limit en --offset argumenten. De takenlijst wordt standaard geretourneerd als een tabel met de taak-id en taaknaam. Als u desgewenst een JSON-document met taakgegevens wilt retourneren, gebruikt u het --output JSON argument.

Als u de --limit en --offset argumenten wilt gebruiken, moet u de API-versie instellen op 2.1.

Wanneer u de lijst gebruikt --output JSON, wordt de lijst in aflopende volgorde geretourneerd op de aanmaakdatum van de taak. Wanneer u de lijst gebruikt --output TABLE, wordt de lijst geretourneerd in aflopende volgorde op aanmaakdatum van de taak en vervolgens alfabetisch gesorteerd op taaknaam.

De volgende voorbeeldpagina's door de takenlijst 10 taken tegelijk en retourneert de resultaten in JSON-indeling:

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

Instellingen voor een taak wijzigen

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs reset --help.

Algemeen gebruik

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

Cli 2.1-gebruiksnotities en voorbeeld van aanvraag

Zie Bijwerken en opnieuw instellen in Bijwerken van taken-API 2.0 naar 2.1.

Voorbeeld van cli 2.0-aanvraag voor taken

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

Als dit lukt, wordt er geen uitvoer weergegeven.

Een taak uitvoeren

Als u de gebruiksdocumentatie wilt weergeven, voert u het volgende uit databricks jobs run-now --help.

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