Jobs CLI

Ejecute subcomandos de la CLI de trabajo de Databricks anexándolos a y el trabajo de databricks jobs Databricks ejecute subcomandos de la CLI anexándolos a databricks runs .

Para ver los subcomandos de la CLI de ejecución de trabajos de Databricks, consulte La CLI ejecuta.

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

Creación de un trabajo

Para mostrar la documentación de uso, ejecute databricks jobs create --help .

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

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 }

Sugerencia

Para copiar un trabajo, ejecute el create comando y pase un objeto JSON con la configuración del trabajo que se copiará. En este ejemplo se copia la configuración del trabajo con el identificador de 246 en un nuevo trabajo. Requiere la utilidad jq.

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

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

Eliminación de un trabajo

Para mostrar la documentación de uso, ejecute databricks jobs delete --help .

databricks job delete --job-id 246

Si se realiza correctamente, no se muestra ninguna salida.

Sugerencia

Para eliminar varios trabajos con la misma configuración, obtenga la lista de identificadores de trabajo que coincidan con esa configuración y, a continuación, ejecute el comando para cada identificador delete de trabajo correspondiente. En este ejemplo se eliminan todos los trabajos con el nombre de Untitled trabajo . Requiere la utilidad jq.

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

Enumeración de información sobre un trabajo

Para mostrar la documentación de uso, ejecute databricks jobs get --help .

databricks jobs get --job-id 246
{
  "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"
}

Lista de información sobre los trabajos disponibles

Para mostrar la documentación de uso, ejecute databricks jobs list --help .

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

Cambiar la configuración de un trabajo

Para mostrar la documentación de uso, ejecute databricks jobs reset --help .

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

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

Si se realiza correctamente, no se muestra ninguna salida.

Ejecución de un trabajo

Para mostrar la documentación de uso, ejecute databricks jobs run-now --help .

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