작업 CLI(레거시)

Important

이 설명서는 사용 중지되었으며 업데이트되지 않을 수 있습니다.

이 정보는 레거시 Databricks CLI 버전 0.18 이하에 적용됩니다. Databricks는 최신 Databricks CLI 버전 0.205 이상을 대신 사용하는 것이 좋습니다. Databricks CLI란?을 참조하세요. Databricks CLI 버전을 찾으려면 다음을 실행 databricks -v합니다.

Databricks CLI 버전 0.18 이하에서 Databricks CLI 버전 0.205 이상으로 마이그레이션하려면 Databricks CLI 마이그레이션을 참조하세요.

Databricks 작업 CLI 하위 명령을 databricks jobs에 추가하여 실행하고 Databricks 작업은 CLI 하위 명령을 databricks runs에 추가하여 실행합니다. Databricks 작업은 CLI 하위 명령을 실행하려면 CLI 실행(레거시)을 참조하세요. 이러한 하위 명령은 함께 작업 API 및 작업 API 2.0을 호출합니다.

Important

Databricks 작업 CLI는 두 가지 버전의 Databricks 작업 REST API(버전 2.1 및 2.0)에 대한 호출을 지원합니다. 버전 2.1은 여러 작업이 있는 작업의 오케스트레이션에 대한 지원을 추가합니다. Azure Databricks 작업 만들기 및 실행 및 작업 API 2.0에서 2.1로 업데이트 참조하세요. 버전 2.0에 의존하고 마이그레이션할 수 없는 레거시 스크립트가 없는 경우 Databricks에서는 버전 2.1을 호출하는 것이 좋습니다.

달리 명시되지 않는 한, 이 문서에서 설명하는 프로그래매틱 방식 동작은 버전 2.1과 2.0에 동일하게 적용됩니다.

작업 REST API 2.1을 호출하기 위한 요구 사항

Databricks 작업 CLI(및 작업 실행 CLI)를 설정하고 사용하여 작업 REST API 2.1을 호출하려면 다음을 수행합니다.

  1. 버전 0.16.0 이상으로 CLI를 업데이트합니다.

  2. 다음 작업 중 하나를 수행합니다.

    • databricks jobs configure --version=2.1 명령을 실행합니다. 이렇게 하면 설정 jobs-api-version = 2.1이 파일 ~/.databrickscfg(Unix, Linux, macOS) 또는 %USERPROFILE%\.databrickscfg(Windows)에 추가됩니다. 모든 작업 CLI(및 작업 실행 CLI) 하위 명령은 기본적으로 작업 REST API 2.1을 호출합니다.
    • Unix, Linux 또는 macOS에서는 jobs-api-version = 2.1 설정을 파일 ~/.databrickscfg에, Windows에서는 %USERPROFILE%\.databrickscfg 설정을 수동으로 추가합니다. 모든 작업 CLI(및 작업 실행 CLI) 하위 명령은 기본적으로 작업 REST API 2.1을 호출합니다.
    • --version=2.1 옵션(예: databricks jobs list --version=2.1)을 추가하여 해당 호출에 대해서만 작업 REST API 2.1을 호출하도록 작업 CLI에 지시합니다.

    이전 작업을 수행하지 않으면 작업 CLI(및 작업 실행 CLI)가 기본적으로 작업 REST API 2.0을 호출합니다.

작업 REST API 2.0을 호출하기 위한 요구 사항

Databricks 작업 CLI(및 작업 실행 CLI)를 설정하고 사용하여 작업 REST API 2.0을 호출하려면 다음 중 하나를 수행합니다.

  • 0.16.0 미만의 Databricks CLI 버전을 사용합니다. 또는
  • CLI 를 X.Y.Z 이상으로 업데이트한 다음 다음 중 하나를 수행합니다.
    • databricks jobs configure --version=2.0 명령을 실행합니다. 이렇게 하면 설정 jobs-api-version = 2.0이 파일 ~/.databrickscfg(Unix, Linux, macOS) 또는 %USERPROFILE%\.databrickscfg(Windows)에 추가됩니다. 모든 작업 CLI(및 작업 실행 CLI) 하위 명령은 기본적으로 작업 REST API 2.0을 호출합니다.
    • Unix, Linux 또는 macOS에서는 jobs-api-version = 2.0 설정을 파일 ~/.databrickscfg에, Windows에서는 %USERPROFILE%\.databrickscfg 설정을 수동으로 추가합니다. 모든 작업 CLI(및 작업 실행 CLI) 하위 명령은 기본적으로 작업 REST API 2.0을 호출합니다.
    • --version=2.1 옵션(예: databricks jobs list --version=2.0)을 추가하여 해당 호출에 대해서만 작업 REST API 2.0을 호출하도록 작업 CLI에 지시합니다.

이전 작업을 수행하지 않으면 작업 CLI(및 작업 실행 CLI)가 기본적으로 작업 REST API 2.0을 호출합니다.

하위 명령 및 일반적인 사용법

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

작업 만들기

사용 설명서를 표시하려면 databricks jobs create --help를 실행합니다.

일반적인 사용법

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

작업 CLI 2.1 사용 참고 사항 및 요청 예

작업 API 2.0에서 2.1로 업데이트할 때 만들기 를 참조하세요.

작업 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 }

작업을 복사하려면 create 명령을 실행하고 복사할 작업의 설정과 함께 JSON 개체를 전달합니다. 이 예에서는 ID가 246인 작업 설정을 새 작업으로 복사합니다. jq 유틸리티가 필요합니다.

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

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

작업 삭제

사용 설명서를 표시하려면 databricks jobs delete --help를 실행합니다.

databricks job delete --job-id 246

성공하면 출력이 표시되지 않습니다.

설정이 동일한 여러 작업을 삭제하려면 해당 설정과 일치하는 작업 ID 목록을 가져온 다음 일치하는 각 작업 ID에 대해 delete 명령을 실행합니다. 이 예는 작업 이름이 Untitled인 모든 작업을 삭제합니다. jq 유틸리티가 필요합니다.

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

작업에 대한 정보 나열

사용 설명서를 표시하려면 databricks jobs get --help를 실행합니다.

일반적인 사용법

databricks jobs get --job-id 246

작업 CLI 2.1 사용 참고 사항 및 응답 예시

작업 API 2.0에서 2.1로 업데이트 가져오기를 참조하세요.

작업 CLI 2.0 응답 예제

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

사용 가능한 작업에 대한 정보 나열

사용 설명서를 표시하려면 databricks jobs list --help를 실행합니다.

일반적인 사용법

databricks jobs list

작업 CLI 2.1 사용 참고 사항 및 응답 예시

작업 API 2.0에서 2.1로 업데이트의 목록을 참조하세요.

작업 CLI 2.0 응답 예제

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

모든 작업 나열(API 2.1만 해당)

API를 순차적으로 호출하여 모든 작업을 반환하도록 CLI에 지시하려면 이 --all 옵션을 사용합니다. 이 --all 옵션을 사용하려면 API 버전을 2.1로 설정해야 합니다.

databricks jobs list --all

작업 목록 페이지(API 2.1에만 해당)

페이지를 매긴 작업 목록을 반환하려면 해당 및 --offset 인수를 --limit 사용합니다. 기본적으로 작업 목록은 작업 ID 및 작업 이름을 포함하는 테이블로 반환됩니다. 필요에 따라 작업 정보가 포함된 JSON 문서를 반환하려면 인수를 --output JSON 사용합니다.

인수 및 인수를 --limit 사용하려면 API 버전을 2.1로 설정해야 합니다.--offset

사용하는 --output JSON경우 목록은 작업 생성 날짜별로 내림차순으로 반환됩니다. 사용할 --output TABLE때 목록은 작업 생성 날짜별로 내림차순으로 반환된 다음 작업 이름으로 사전순으로 정렬됩니다.

다음 예제에서는 작업을 통해 한 번에 10개의 작업을 나열하고 결과를 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

작업 설정 변경

사용 설명서를 표시하려면 databricks jobs reset --help를 실행합니다.

일반적인 사용법

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

작업 CLI 2.1 사용 참고 사항 및 요청 예

작업 API 2.0에서 2.1로 업데이트 및 다시 설정을 참조하세요.

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

성공하면 출력이 표시되지 않습니다.

작업 실행

사용 설명서를 표시하려면 databricks jobs run-now --help를 실행합니다.

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