다음을 통해 공유


작업 API 2.0

Important

이 문서는 Jobs API의 2.0 버전을 다루고 있습니다. 단, Databricks는 신규 및 기존 API 스크립트와 클라이언트에 대해서는 Jobs API 2.1을 사용할 것을 권장합니다. 2.0에서 2.1 버전으로의 변경 내용에 대한 자세한 내용은 Jobs API 2.0에서 2.1로 업데이트하기를 참조하세요.

작업 API를 사용하면 작업을 만들고, 편집하고, 삭제할 수 있습니다. 작업 API에 대한 요청의 최대 허용 크기는 10MB입니다.

Azure Databricks 작업을 사용하여 여러 작업의 오케스트레이션을 지원하는 Jobs API 업데이트에 대한 자세한 내용은 Jobs API 2.0에서 2.1로 업데이트하기를 참조하세요.

Warning

비밀을 하드 코딩하거나 일반 텍스트로 저장해서는 안 됩니다. Databricks CLI에서 비밀을 관리하려면 비밀 API을 사용하세요. 비밀 유틸리티(dbutils.secrets)를 사용하여 Notebooks 및 작업의 비밀을 참조합니다.

참고 항목

작업 API를 요청할 때 500 수준 오류가 발생하는 경우 Databricks는 최대 10분 동안 요청을 다시 시도하도록 권장합니다(다시 시도 간격 30초 이상).

Important

Databricks REST API에 액세스하려면 인증해야 합니다.

만들기

엔드포인트 HTTP 메서드
2.0/jobs/create POST

새 작업을 만듭니다.

예시

다음 예제에서는 JAR 태스크를 매일 밤 10시 15분에 실행하는 작업을 만듭니다.

요청

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/create \
--data @create-job.json \
| jq .

create-job.json:

{
  "name": "Nightly model training",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "timeout_seconds": 3600,
  "max_retries": 1,
  "schedule": {
    "quartz_cron_expression": "0 15 22 * * ?",
    "timezone_id": "America/Los_Angeles"
  },
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • create-job.json의 콘텐츠를 솔루션에 적합한 필드로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "job_id": 1
}

요청 구조체

Important

  • 작업을 새 작업 클러스터에서 실행하는 경우 작업은 작업 컴퓨팅 가격 책정에 따라 Jobs Compute(자동화) 워크로드로 처리됩니다.
  • 작업을 기존 다목적 클러스터에서 실행하는 경우 All-Purpose Compute 가격 책정에 따라 All-Purpose Compute(대화형) 워크로드로 처리됩니다.
필드 이름 Type 설명
existing_cluster_id 또는 new_cluster STRING 또는 NewCluster existing_cluster_id인 경우 이 작업의 모든 실행에 사용할 기존 클러스터의 ID입니다. 작업을 기존 클러스터에서 실행할 때 응답이 중지되면 클러스터를 수동으로 다시 시작해야 할 수 있습니다. 안정성을 높이려면 작업을 새 클러스터에서 실행하는 것이 좋습니다.

new_cluster인 경우 각 실행에 대해 만들 클러스터에 대한 설명입니다.

PipelineTask를 지정하는 경우 이 필드는 비어 있을 수 있습니다.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task 또는 run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask notebook_task인 경우 이 작업에서 Notebook을 실행해야 함을 나타냅니다. 이 필드는 spark_jar_task와 함께 지정할 수 없습니다.

spark_jar_task인 경우 이 작업에서 JAR을 실행해야 함을 나타냅니다.

spark_python_task인 경우 이 작업에서 Python 파일을 실행해야 함을 나타냅니다.

spark_submit_task인 경우 spark submit 스크립트에서 이 작업을 시작해야 임을 나타냅니다.

pipeline_task인 경우 이 작업에서 Delta Live Tables 파이프라인을 실행해야 함을 나타냅니다.

run_job_task 경우 이 작업이 다른 작업을 실행해야 함을 나타냅니다.
name STRING 작업에 대한 선택적 이름입니다. 기본값은 Untitled입니다.
libraries 라이브러리 배열 작업을 실행할 클러스터에 설치할 라이브러리의 선택적 목록입니다. 기본값은 빈 목록입니다.
email_notifications JobEmailNotifications 이 작업의 실행이 시작 및 완료되고 이 작업이 삭제될 때 알림을 받는 이메일 주소의 선택적 세트입니다. 기본 동작은 이메일을 보내지 않는 것입니다.
webhook_notifications WebhookNotifications 이 작업의 실행이 시작, 완료 또는 실패할 때 알릴 선택적 시스템 대상의 세트입니다.
notification_settings JobNotificationSettings 이 작업에 대해 각각 email_notificationswebhook_notifications 에 알림을 보낼 때 사용되는 선택적 알림 설정입니다.
timeout_seconds INT32 이 작업의 각 실행에 적용되는 선택적 시간 제한입니다. 기본 동작은 시간 제한이 없는 것입니다.
max_retries INT32 실패한 실행을 다시 시도할 수 있는 선택적 최대 횟수입니다. 실행이 FAILED result_state 또는
INTERNAL_ERROR
life_cycle_state. -1 값은 무기한으로 다시 시도하고, 0 값은 다시 시도하지 않는 것을 의미합니다. 기본 동작은 다시 시도하지 않는 것입니다.
min_retry_interval_millis INT32 실패한 실행 시작과 후속 다시 시도 실행 사이의 선택적 최소 간격(밀리초)입니다. 기본 동작은 실패한 실행을 즉시 다시 시도하는 것입니다.
retry_on_timeout BOOL 시간 제한을 초과하면 작업을 다시 시도할지 여부를 지정하는 선택적 정책입니다. 기본 동작은 시간 제한을 초과하면 다시 시도하지 않는 것입니다.
schedule CronSchedule 이 작업에 대한 선택적 정기 일정입니다. 기본 동작은 작업 UI에서 지금 실행을 클릭하거나 API 요청을 runNow에 보내 작업을 트리거할 때 실행하는 것입니다.
max_concurrent_runs INT32 선택적으로 허용되는 작업의 최대 동시 실행 수입니다.

동일한 작업의 여러 실행을 동시에 실행할 수 있도록 하려면 이 값을 설정합니다. 예를 들어 이는 빈번한 일정에 따라 작업을 트리거하고 연속 실행이 서로 겹치도록 허용하거나 입력 매개 변수에 따라 다른 여러 실행을 트리거하려는 경우에 유용합니다.

이 설정은 새 실행에만 영향을 줍니다. 예를 들어 작업의 동시성이 4이고 4개의 동시 활성 실행이 있다고 가정합니다. 그런 다음, 동시성을 3으로 설정하면 활성 실행이 종료되지 않습니다. 그러나 이후부터 활성 실행이 3개 미만인 경우를 제외하고는 새 실행을 건너뜁니다.

이 값은 1000을 초과할 수 없습니다. 이 값을 0으로 설정하면 모든 새 실행을 건너뜁니다. 기본 동작은 하나의 동시 실행만 허용하는 것입니다.

응답 구조

필드 이름 Type 설명
job_id INT64 새로 만든 작업의 정식 식별자입니다.

List

엔드포인트 HTTP 메서드
2.0/jobs/list GET

모든 작업 나열.

예시

요청

curl --netrc --request GET \
https://<databricks-instance>/api/2.0/jobs/list \
| jq .

<databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름으로 바꿉니다(예: adb-1234567890123456.7.azuredatabricks.net).

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "jobs": [
    {
      "job_id": 1,
      "settings": {
        "name": "Nightly model training",
        "new_cluster": {
          "spark_version": "7.3.x-scala2.12",
          "node_type_id": "Standard_D3_v2",
          "num_workers": 10
        },
        "libraries": [
          {
            "jar": "dbfs:/my-jar.jar"
          },
          {
            "maven": {
              "coordinates": "org.jsoup:jsoup:1.7.2"
            }
          }
        ],
        "timeout_seconds": 100000000,
        "max_retries": 1,
        "schedule": {
          "quartz_cron_expression": "0 15 22 * * ?",
          "timezone_id": "America/Los_Angeles",
          "pause_status": "UNPAUSED"
        },
        "spark_jar_task": {
          "main_class_name": "com.databricks.ComputeModels"
        }
      },
      "created_time": 1457570074236
    }
  ]
}

응답 구조

필드 이름 Type 설명
jobs 작업 배열 작업 목록입니다.

삭제

엔드포인트 HTTP 메서드
2.0/jobs/delete POST

작업을 삭제하고 이메일을 JobSettings.email_notifications에 지정된 주소로 보냅니다. 작업이 이미 제거된 경우 아무 작업도 수행되지 않습니다. 작업이 제거되면 작업 UI 또는 API에 세부 정보 및 실행 기록이 표시되지 않습니다. 이 요청이 완료되면 작업이 제거됩니다. 그러나 이 요청을 받기 전에 활성 상태였던 실행은 여전히 ​​활성 상태일 수 있습니다. 비동기적으로 종료됩니다.

예시

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/delete \
--data '{ "job_id": <job-id> }'

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <job-id>를 작업 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일을 사용합니다.

요청 구조체

필드 이름 Type 설명
job_id INT64 삭제할 작업의 정식 식별자입니다. 이 필드는 필수 필드입니다.

가져오기

엔드포인트 HTTP 메서드
2.0/jobs/get GET

단일 작업에 대한 정보를 검색합니다.

예시

요청

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/get?job_id=<job-id>' \
| jq .

또는

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/get \
--data job_id=<job-id> \
| jq .

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <job-id>를 작업 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "job_id": 1,
  "settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  },
  "created_time": 1457570074236
}

요청 구조체

필드 이름 Type 설명
job_id INT64 정보를 검색할 작업의 정식 식별자입니다. 이 필드는 필수 필드입니다.

응답 구조

필드 이름 Type 설명
job_id INT64 이 작업의 정식 식별자입니다.
creator_user_name STRING 작성자 사용자 이름입니다. 사용자가 삭제된 경우 이 필드는 응답에 포함되지 않습니다.
settings JobSettings 이 작업 및 해당하는 모든 실행에 대한 설정입니다. 이러한 설정은 다시 설정 또는 업데이트 엔드포인트를 사용하여 업데이트할 수 있습니다.
created_time INT64 이 작업을 만든 시간(Epoch 밀리초 - 1970년 1월 1일 UTC 이후의 밀리초)입니다.

초기화

엔드포인트 HTTP 메서드
2.0/jobs/reset POST

특정 작업에 대한 모든 설정을 덮어씁니다. 업데이트 엔드포인트를 사용하여 작업 설정을 부분적으로 업데이트합니다.

예시

이 예제 요청은 작업 2를 만들기 예제의 작업 1과 동일하게 만듭니다.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/reset \
--data @reset-job.json \
| jq .

reset-job.json:

{
  "job_id": 2,
  "new_settings": {
    "name": "Nightly model training",
    "new_cluster": {
      "spark_version": "7.3.x-scala2.12",
      "node_type_id": "Standard_D3_v2",
      "num_workers": 10
    },
    "libraries": [
      {
        "jar": "dbfs:/my-jar.jar"
      },
      {
        "maven": {
          "coordinates": "org.jsoup:jsoup:1.7.2"
        }
      }
    ],
    "timeout_seconds": 100000000,
    "max_retries": 1,
    "schedule": {
      "quartz_cron_expression": "0 15 22 * * ?",
      "timezone_id": "America/Los_Angeles",
      "pause_status": "UNPAUSED"
    },
    "spark_jar_task": {
      "main_class_name": "com.databricks.ComputeModels"
    }
  }
}

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • reset-job.json의 콘텐츠를 솔루션에 적합한 필드로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

요청 구조체

필드 이름 Type 설명
job_id INT64 다시 설정할 작업의 정식 식별자입니다. 이 필드는 필수 필드입니다.
new_settings JobSettings 작업의 새 설정입니다. 이러한 설정은 이전 설정을 완전히 바꿉니다.

JobSettings.timeout_seconds 필드에 대한 변경 내용은 활성 실행에 적용됩니다. 다른 필드에 대한 변경 내용은 이후 실행에만 적용됩니다.

업데이트

엔드포인트 HTTP 메서드
2.0/jobs/update POST

기존 작업의 특정 설정을 추가, 변경 또는 제거합니다. 다시 설정 엔드포인트를 사용하여 모든 작업 설정을 덮어씁니다.

예시

이 예제 요청은 라이브러리를 제거하고 이메일 알림 설정을 만들기 예제에 정의된 작업 1에 추가합니다.

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/update \
--data @update-job.json \
| jq .

update-job.json:

{
  "job_id": 1,
  "new_settings": {
    "existing_cluster_id": "1201-my-cluster",
    "email_notifications": {
      "on_start": [ "someone@example.com" ],
      "on_success": [],
      "on_failure": []
    }
  },
  "fields_to_remove": ["libraries"]
}

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • update-job.json의 콘텐츠를 솔루션에 적합한 필드로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

요청 구조체

필드 이름 Type 설명
job_id INT64 업데이트할 작업의 정식 식별자입니다. 이 필드는 필수 필드입니다.
new_settings JobSettings 작업에 대한 새 설정입니다.

new_settings에서 지정된 최상위 필드는 배열을 제외하고 완전히 대체됩니다. 배열은 해당 키 필드를 기반으로 병합되며(예: task_key 또는
job_cluster_key), 동일한 키를 가진 배열 항목은 완전히 대체됩니다. 배열 병합을 제외하고 중첩된 필드를 부분적으로 업데이트하는 것은 지원되지 않습니다.

JobSettings.timeout_seconds 필드에 대한 변경 내용은 활성 실행에 적용됩니다. 다른 필드에 대한 변경 내용은 이후 실행에만 적용됩니다.
fields_to_remove STRING 배열입니다. 작업 설정에서 최상위 필드를 제거합니다. 중첩된 필드 제거는 tasksjob_clusters 배열의 항목을 제외하고 지원되지 않습니다. 예를 들어 다음은 이 필드에 유효한 인수입니다.
["libraries", "schedule", "tasks/task_1", "job_clusters/Default"]

이 필드는 선택적입니다.

지금 실행

Important

  • 작업 영역은 1000개의 동시 태스크 실행으로 제한됩니다. 즉시 시작할 수 없는 실행을 요청하면 429 Too Many Requests 응답이 반환됩니다.
  • 작업 영역에서 한 시간 내에 만들 수 있는 작업 수는 10000개로 제한됩니다("실행 제출" 포함). 이 제한은 REST API 및 Notebook 워크플로에 의해 만들어진 작업에도 영향을 줍니다.
  • 작업 영역에는 최대 12000개의 저장된 작업이 포함될 수 있습니다.
  • 작업에는 최대 100개의 태스크가 포함될 수 있습니다.
엔드포인트 HTTP 메서드
2.0/jobs/run-now POST

지금 작업을 실행하고 트리거된 실행의 run_id를 반환합니다.

지금 실행과 함께 만들기를 호출하는 경우 실행 제출 엔드포인트를 대신 사용하여 작업을 만들지 않고도 워크로드를 직접 제출할 수 있습니다.

예시

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/run-now \
--data @run-job.json \
| jq .

run-job.json:

Notebook 작업에 대한 예제 요청:

{
  "job_id": 1,
  "notebook_params": {
    "name": "john doe",
    "age": "35"
  }
}

JAR 작업에 대한 예제 요청:

{
  "job_id": 2,
  "jar_params": [ "john doe", "35" ]
}

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • run-job.json의 콘텐츠를 솔루션에 적합한 필드로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

요청 구조체

필드 이름 Type 설명
job_id INT64
jar_params STRING 배열입니다. JAR 태스크가 있는 작업에 대한 매개 변수 목록입니다(예: "jar_params": ["john doe", "35"]). 매개 변수는 Spark JAR 태스크에 지정된 주 클래스의 main 함수를 호출하는 데 사용됩니다. run-now에 지정하지 않으면 기본적으로 빈 목록이 됩니다. jar_params는 notebook_params와 함께 지정할 수 없습니다. 이 필드의 JSON 표현(예: {"jar_params":["john doe","35"]})은 10,000바이트를 초과할 수 없습니다.
notebook_params ParamPair Notebook 태스크가 있는 작업에 대한 키에서 값으로의 맵(예:
"notebook_params": {"name": "john doe", "age": "35"}. 맵은 Notebook에 전달되며 dbutils.widgets.get 함수를 통해 액세스할 수 있습니다.

run-now에 지정하지 않으면 트리거된 실행에서 작업의 기본 매개 변수를 사용합니다.

notebook_params는 jar_params와 함께 지정할 수 없습니다.

이 필드의 JSON 표현(예:
{"notebook_params":{"name":"john doe","age":"35"}})은 10,000바이트를 초과할 수 없습니다.
python_params STRING 배열입니다. Python 태스크가 있는 작업에 대한 매개 변수 목록입니다(예: "python_params": ["john doe", "35"]). 매개 변수는 명령줄 매개 변수로 Python 파일에 전달됩니다. run-now에 지정하면 작업 설정에 지정된 매개 변수를 덮어씁니다. 이 필드의 JSON 표현(예: {"python_params":["john doe","35"]})은 10,000바이트를 초과할 수 없습니다.
spark_submit_params STRING 배열입니다. spark submit 태스크가 있는 작업에 대한 매개 변수 목록(예:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. 매개 변수는 명령줄 매개 변수로 spark-submit 스크립트에 전달됩니다. run-now에 지정하면 작업 설정에 지정된 매개 변수를 덮어씁니다. 이 필드의 JSON 표현은 10,000바이트를 초과할 수 없습니다.
idempotency_token STRING 작업 실행 요청의 멱등성을 보장하기 위한 선택적 토큰입니다. 제공된 토큰을 사용한 실행이 이미 있는 경우 요청은 새 실행을 만들지 않고 기존 실행의 ID를 대신 반환합니다. 제공된 토큰을 사용한 실행이 삭제되면 오류가 반환됩니다.

멱등성 토큰을 지정하는 경우 실패 시 요청이 성공할 때까지 다시 시도할 수 있습니다. Azure Databricks는 해당 멱등성 토큰을 사용하여 정확히 한 번의 실행이 시작되도록 보장합니다.

이 토큰은 최대 64자여야 합니다.

자세한 내용은 작업에 대한 멱등성을 확인하는 방법을 참조하세요.

응답 구조

필드 이름 Type 설명
run_id INT64 새로 트리거된 실행의 전역적으로 고유한 ID입니다.
number_in_job INT64 작업의 모든 실행 중에서 이 실행의 시퀀스 번호입니다.

실행 제출

Important

  • 작업 영역은 1000개의 동시 태스크 실행으로 제한됩니다. 즉시 시작할 수 없는 실행을 요청하면 429 Too Many Requests 응답이 반환됩니다.
  • 작업 영역에서 한 시간 내에 만들 수 있는 작업 수는 10000개로 제한됩니다("실행 제출" 포함). 이 제한은 REST API 및 Notebook 워크플로에 의해 만들어진 작업에도 영향을 줍니다.
  • 작업 영역에는 최대 12000개의 저장된 작업이 포함될 수 있습니다.
  • 작업에는 최대 100개의 태스크가 포함될 수 있습니다.
엔드포인트 HTTP 메서드
2.0/jobs/runs/submit POST

일회성 실행을 제출합니다. 이 엔드포인트를 사용하면 작업을 만들지 않고도 직접 워크로드를 제출할 수 있습니다. jobs/runs/get API를 사용하여 작업이 제출된 후의 실행 상태를 확인합니다.

예시

요청

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/submit \
--data @submit-job.json \
| jq .

submit-job.json:

{
  "run_name": "my spark task",
  "new_cluster": {
    "spark_version": "7.3.x-scala2.12",
    "node_type_id": "Standard_D3_v2",
    "num_workers": 10
  },
  "libraries": [
    {
      "jar": "dbfs:/my-jar.jar"
    },
    {
      "maven": {
        "coordinates": "org.jsoup:jsoup:1.7.2"
      }
    }
  ],
  "spark_jar_task": {
    "main_class_name": "com.databricks.ComputeModels"
  }
}

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • submit-job.json의 콘텐츠를 솔루션에 적합한 필드로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "run_id": 123
}

요청 구조체

Important

  • 작업을 새 작업 클러스터에서 실행하는 경우 작업은 작업 컴퓨팅 가격 책정에 따라 Jobs Compute(자동화) 워크로드로 처리됩니다.
  • 작업을 기존 다목적 클러스터에서 실행하는 경우 All-Purpose Compute 가격 책정에 따라 All-Purpose Compute(대화형) 워크로드로 처리됩니다.
필드 이름 Type 설명
existing_cluster_id 또는 new_cluster STRING 또는 NewCluster existing_cluster_id인 경우 이 작업의 모든 실행에 사용할 기존 클러스터의 ID입니다. 작업을 기존 클러스터에서 실행할 때 응답이 중지되면 클러스터를 수동으로 다시 시작해야 할 수 있습니다. 안정성을 높이려면 작업을 새 클러스터에서 실행하는 것이 좋습니다.

new_cluster인 경우 각 실행에 대해 만들 클러스터에 대한 설명입니다.

PipelineTask를 지정하는 경우 이 필드는 비어 있을 수 있습니다.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task 또는 run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask notebook_task인 경우 이 작업에서 Notebook을 실행해야 함을 나타냅니다. 이 필드는 spark_jar_task와 함께 지정할 수 없습니다.

spark_jar_task인 경우 이 작업에서 JAR을 실행해야 함을 나타냅니다.

spark_python_task인 경우 이 작업에서 Python 파일을 실행해야 함을 나타냅니다.

spark_submit_task인 경우 spark submit 스크립트에서 이 작업을 시작해야 임을 나타냅니다.

pipeline_task인 경우 이 작업에서 Delta Live Tables 파이프라인을 실행해야 함을 나타냅니다.

run_job_task 경우 이 작업이 다른 작업을 실행해야 함을 나타냅니다.
run_name STRING 실행에 대한 선택적 이름입니다. 기본값은 Untitled입니다.
webhook_notifications WebhookNotifications 이 작업의 실행이 시작, 완료 또는 실패할 때 알릴 선택적 시스템 대상의 세트입니다.
notification_settings JobNotificationSettings 이 실행에 대한 각 webhook_notifications에 알림을 보낼 때 사용되는 선택적 알림 설정입니다.
libraries 라이브러리 배열 작업을 실행할 클러스터에 설치할 라이브러리의 선택적 목록입니다. 기본값은 빈 목록입니다.
timeout_seconds INT32 이 작업의 각 실행에 적용되는 선택적 시간 제한입니다. 기본 동작은 시간 제한이 없는 것입니다.
idempotency_token STRING 작업 실행 요청의 멱등성을 보장하기 위한 선택적 토큰입니다. 제공된 토큰을 사용한 실행이 이미 있는 경우 요청은 새 실행을 만들지 않고 기존 실행의 ID를 대신 반환합니다. 제공된 토큰을 사용한 실행이 삭제되면 오류가 반환됩니다.

멱등성 토큰을 지정하는 경우 실패 시 요청이 성공할 때까지 다시 시도할 수 있습니다. Azure Databricks는 해당 멱등성 토큰을 사용하여 정확히 한 번의 실행이 시작되도록 보장합니다.

이 토큰은 최대 64자여야 합니다.

자세한 내용은 작업에 대한 멱등성을 확인하는 방법을 참조하세요.

응답 구조

필드 이름 Type 설명
run_id INT64 새로 제출된 실행의 정식 식별자입니다.

실행 나열

엔드포인트 HTTP 메서드
2.0/jobs/runs/list GET

나열은 시작 시간을 기준으로 내림차순으로 실행됩니다.

참고 항목

실행은 60일 후에 자동으로 제거됩니다. 60일을 초과하여 참조하려면 만료되기 전에 이전 실행 결과를 저장해야 합니다. UI를 사용하여 내보내려면 작업 실행 결과 내보내기를 참조하세요. 작업 API를 사용하여 내보내려면 실행 내보내기를 참조하세요.

예시

요청

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/list?job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

또는

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/list \
--data 'job_id=<job-id>&active_only=<true-false>&offset=<offset>&limit=<limit>&run_type=<run-type>' \
| jq .

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <job-id>를 작업 ID(예: 123)로 바꿉니다.
  • <true-false>true 또는 false으로 바꿉니다.”
  • <offset>offset 값으로 바꿉니다.
  • <limit>limit 값으로 바꿉니다.
  • <run-type>run_type 값으로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "runs": [
    {
      "job_id": 1,
      "run_id": 452,
      "number_in_job": 5,
      "state": {
        "life_cycle_state": "RUNNING",
        "state_message": "Performing action"
      },
      "task": {
        "notebook_task": {
          "notebook_path": "/Users/donald@duck.com/my-notebook"
        }
      },
      "cluster_spec": {
        "existing_cluster_id": "1201-my-cluster"
      },
      "cluster_instance": {
        "cluster_id": "1201-my-cluster",
        "spark_context_id": "1102398-spark-context-id"
      },
      "overriding_parameters": {
        "jar_params": ["param1", "param2"]
      },
      "start_time": 1457570074236,
      "end_time": 1457570075149,
      "setup_duration": 259754,
      "execution_duration": 3589020,
      "cleanup_duration": 31038,
      "run_duration": 3879812,
      "trigger": "PERIODIC"
    }
  ],
  "has_more": true
}

요청 구조체

필드 이름 Type 설명
active_only 또는 completed_only BOOL 또는 BOOL active_only가 true이면 활성 실행만 결과에 포함되고, 그렇지 않으면 활성 실행 및 완료된 실행을 모두 나열합니다. 활성 실행은 PENDING, RUNNING 또는 TERMINATING RunLifecycleState의 실행입니다. Completed_only가 true인 경우 이 필드는 true일 수 없습니다.

Completed_only가 true이면 완료된 실행만 결과에 포함되고, 그렇지 않으면 활성 실행 및 완료된 실행을 모두 나열합니다. active_only가 true인 경우 이 필드는 true일 수 없습니다.
job_id INT64 나열할 작업이 실행됩니다. 생략하면 작업 서비스에서 모든 작업의 실행을 나열합니다.
offset INT32 가장 최근 실행을 기준으로 반환할 첫 번째 실행의 오프셋입니다.
limit INT32 반환할 실행 수입니다. 이 값은 0보다 크고 1000보다 작아야 합니다. 기본값은 20입니다. 요청에서 제한을 0으로 지정하는 경우 서비스에서 최대 제한을 대신 사용합니다.
run_type STRING 반환할 실행 형식입니다. 실행 형식에 대한 설명은 Run을 참조하세요.

응답 구조

필드 이름 Type 설명
runs Run 배열 가장 최근에 시작한 것부터 가장 적게 시작한 것까지의 실행 목록입니다.
has_more BOOL true이면 제공된 필터와 일치하는 추가 실행을 목록에 사용할 수 있습니다.

실행 가져오기

엔드포인트 HTTP 메서드
2.0/jobs/runs/get GET

실행의 메타데이터를 검색합니다.

참고 항목

실행은 60일 후에 자동으로 제거됩니다. 60일을 초과하여 참조하려면 만료되기 전에 이전 실행 결과를 저장해야 합니다. UI를 사용하여 내보내려면 작업 실행 결과 내보내기를 참조하세요. 작업 API를 사용하여 내보내려면 실행 내보내기를 참조하세요.

예시

요청

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get?run_id=<run-id>' \
| jq .

또는

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get \
--data run_id=<run-id> \
| jq .

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <run-id>를 실행의 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "job_id": 1,
  "run_id": 452,
  "number_in_job": 5,
  "state": {
    "life_cycle_state": "RUNNING",
    "state_message": "Performing action"
  },
  "task": {
    "notebook_task": {
      "notebook_path": "/Users/someone@example.com/my-notebook"
    }
  },
  "cluster_spec": {
    "existing_cluster_id": "1201-my-cluster"
  },
  "cluster_instance": {
    "cluster_id": "1201-my-cluster",
    "spark_context_id": "1102398-spark-context-id"
  },
  "overriding_parameters": {
    "jar_params": ["param1", "param2"]
  },
  "start_time": 1457570074236,
  "end_time": 1457570075149,
  "setup_duration": 259754,
  "execution_duration": 3589020,
  "cleanup_duration": 31038,
  "run_duration": 3879812,
  "trigger": "PERIODIC"
}

요청 구조체

필드 이름 Type 설명
run_id INT64 메타데이터를 검색할 실행의 정식 식별자입니다. 이 필드는 필수 필드입니다.

응답 구조

필드 이름 Type 설명
job_id INT64 이 실행이 포함된 작업의 정식 식별자입니다.
run_id INT64 실행의 정식 식별자입니다. 이 ID는 모든 작업의 모든 실행에서 고유합니다.
number_in_job INT64 작업의 모든 실행 중에서 이 실행의 시퀀스 번호입니다. 이 값은 1에서 시작합니다.
original_attempt_run_id INT64 이 실행이 이전 실행 시도의 다시 시도인 경우 이 필드에는 원래 시도의 run_id가 포함되고, 그렇지 않은 경우 run_id와 동일합니다.
state RunState 실행의 결과 및 수명 주기 상태입니다.
schedule CronSchedule 주기적 스케줄러에서 트리거된 경우 이 실행을 트리거한 cron 일정입니다.
task JobTask 실행에서 수행하는 태스크(있는 경우)입니다.
cluster_spec ClusterSpec 이 실행을 만들 때 작업의 클러스터 사양에 대한 스냅샷입니다.
cluster_instance ClusterInstance 이 실행에 사용되는 클러스터입니다. 실행이 새 클러스터를 사용하도록 지정된 경우 작업 서비스에서 실행에 대한 클러스터를 요청하면 이 필드가 설정됩니다.
overriding_parameters RunParameters 이 실행에 사용되는 매개 변수입니다.
start_time INT64 이 실행을 시작한 시간(Epoch 밀리초 - 1970년 1월 1일 UTC 이후의 밀리초)입니다. 이는 작업 태스크 실행을 시작하는 시간이 아닐 수 있습니다. 예를 들어 작업이 새 클러스터에서 실행되도록 예약된 경우 클러스터 만들기 호출이 실행되는 시간입니다.
end_time INT64 이 실행이 Epoch 밀리초(1970년 1월 1일 UTC 이후의 밀리초)로 종료된 시간입니다. 작업이 계속 실행 중인 경우 이 필드는 0으로 설정됩니다.
setup_duration INT64 클러스터를 설정하는 데 걸린 시간(밀리초)입니다. 새 클러스터에서 실행되는 실행의 경우 이는 클러스터를 만든 시간이며, 기존 클러스터에서 실행되는 실행의 경우 이 시간은 매우 짧아야 합니다. 총 실행 시간은 setup_duration의 합입니다.
execution_durationcleanup_duration. 멀티태스킹 실행의 경우 setup_duration 필드는 0으로 설정됩니다. 멀티태스킹 작업 실행의 총 기간은
run_duration 필드의 값입니다.
execution_duration INT64 명령이 완료되거나, 실패하거나, 시간 초과되거나, 취소되거나 예기치 않은 오류가 발생할 때까지 JAR 또는 Notebook에서 명령을 실행하는 데 걸린 시간(밀리초)입니다. 실행의 총 지속 시간은 setup_duration, execution_duration의 합입니다.
cleanup_duration. 멀티태스킹 실행의 경우 execution_duration 필드는 0으로 설정됩니다. 멀티태스킹 작업 실행의 총 기간은 run_duration 필드의 값입니다.
cleanup_duration INT64 클러스터를 종료하고 연결된 아티팩트를 정리하는 데 걸린 시간(밀리초)입니다. 실행의 총 지속 시간은 setup_duration, execution_durationcleanup_duration의 합입니다. 멀티태스킹 실행의 경우 cleanup_duration 필드는 0으로 설정됩니다. 멀티태스킹 작업 실행의 총 기간은 run_duration 필드의 값입니다.
run_duration INT64 작업을 실행하고 모든 수리를 완료하는 데 걸린 시간(밀리초)입니다. 이 필드는 작업 실행이 아닌 멀티태스킹 작업 실행에 대해서만 설정됩니다. 작업 실행 기간은
setup_duration, execution_durationcleanup_duration의 합입니다.
trigger TriggerType 이 실행을 실행한 트리거 형식입니다.
creator_user_name STRING 작성자 사용자 이름입니다. 사용자가 삭제된 경우 이 필드는 응답에 포함되지 않습니다.
run_page_url STRING 실행의 세부 정보 페이지에 대한 URL입니다.

실행 내보내기

엔드포인트 HTTP 메서드
2.0/jobs/runs/export GET

작업 실행 태스크를 내보내고 검색합니다.

참고 항목

Notebook 실행만 HTML 형식으로 내보낼 수 있습니다. 다른 형식의 실행 내보내기는 실패합니다.

예시

요청

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/export?run_id=<run-id>' \
| jq .

또는

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/export \
--data run_id=<run-id> \
| jq .

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <run-id>를 실행의 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "views": [ {
    "content": "<!DOCTYPE html><html><head>Head</head><body>Body</body></html>",
    "name": "my-notebook",
    "type": "NOTEBOOK"
  } ]
}

JSON 응답에서 HTML Notebook을 추출하려면 이 Python 스크립트를 다운로드하여 실행합니다.

참고 항목

__DATABRICKS_NOTEBOOK_MODEL 개체의 Notebook 본문이 인코딩됩니다.

요청 구조체

필드 이름 Type 설명
run_id INT64 실행의 정식 식별자입니다. 이 필드는 필수 필드입니다.
views_to_export ViewsToExport 내보낼 보기(CODE, DASHBOARDS 또는 ALL)입니다. 기본값은 CODE입니다.

응답 구조

필드 이름 Type 설명
views ViewItem 배열 HTML 형식으로 내보낸 콘텐츠입니다(각 보기 항목에 대해 하나씩).

실행 취소

엔드포인트 HTTP 메서드
2.0/jobs/runs/cancel POST

작업 실행을 취소합니다. 실행은 비동기적으로 취소되므로 이 요청이 완료되면 실행이 계속 실행될 수 있습니다. 실행이 곧 종료됩니다. 실행이 life_cycle_state 터미널에 이미 있는 경우 이 메서드는 작동하지 않습니다.

이 엔드포인트는 run_id 매개 변수가 유효한지 확인하고 잘못된 매개 변수에 대해 400 HTTP 상태 코드를 반환합니다.

예시

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel \
--data '{ "run_id": <run-id> }'

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <run-id>를 실행의 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일을 사용합니다.

요청 구조체

필드 이름 Type 설명
run_id INT64 취소할 실행의 정식 식별자입니다. 이 필드는 필수 필드입니다.

모두 실행 취소

엔드포인트 HTTP 메서드
2.0/jobs/runs/cancel-all POST

작업의 모든 활성 실행을 취소합니다. 실행은 비동기적으로 취소되므로 새 실행이 시작되지 않도록 방지하지는 않습니다.

이 엔드포인트는 job_id 매개 변수가 유효한지 확인하고 잘못된 매개 변수에 대해 400 HTTP 상태 코드를 반환합니다.

예시

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/cancel-all \
--data '{ "job_id": <job-id> }'

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <job-id>를 작업 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일을 사용합니다.

요청 구조체

필드 이름 Type 설명
job_id INT64 모든 실행을 취소할 작업의 정식 식별자입니다. 이 필드는 필수 필드입니다.

실행 출력 가져오기

엔드포인트 HTTP 메서드
2.0/jobs/runs/get-output GET

단일 작업 실행의 출력 및 메타데이터를 검색합니다. Notebook 태스크에서 dbutils.notebook.exit() 호출을 통해 값을 반환하면 이 엔드포인트를 사용하여 해당 값을 검색할 수 있습니다. Azure Databricks는 이 API에서 출력의 처음 5MB를 반환하도록 제한합니다. 더 큰 결과를 반환하기 위해 작업 결과를 클라우드 스토리지 서비스에 저장할 수 있습니다.

이 엔드포인트는 run_id 매개 변수가 유효한지 확인하고 잘못된 매개 변수에 대해 400 HTTP 상태 코드를 반환합니다.

실행은 60일 후에 자동으로 제거됩니다. 60일을 초과하여 참조하려면 만료되기 전에 이전 실행 결과를 저장해야 합니다. UI를 사용하여 내보내려면 작업 실행 결과 내보내기를 참조하세요. 작업 API를 사용하여 내보내려면 실행 내보내기를 참조하세요.

예시

요청

curl --netrc --request GET \
'https://<databricks-instance>/api/2.0/jobs/runs/get-output?run_id=<run-id>' \
| jq .

또는

curl --netrc --get \
https://<databricks-instance>/api/2.0/jobs/runs/get-output \
--data run_id=<run-id> \
| jq .

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <run-id>를 실행의 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일 및 jq를 사용합니다.

응답

{
  "metadata": {
    "job_id": 1,
    "run_id": 452,
    "number_in_job": 5,
    "state": {
      "life_cycle_state": "TERMINATED",
      "result_state": "SUCCESS",
      "state_message": ""
    },
    "task": {
      "notebook_task": {
        "notebook_path": "/Users/someone@example.com/my-notebook"
      }
    },
    "cluster_spec": {
      "existing_cluster_id": "1201-my-cluster"
    },
    "cluster_instance": {
      "cluster_id": "1201-my-cluster",
      "spark_context_id": "1102398-spark-context-id"
    },
    "overriding_parameters": {
      "jar_params": ["param1", "param2"]
    },
    "start_time": 1457570074236,
    "setup_duration": 259754,
    "execution_duration": 3589020,
    "cleanup_duration": 31038,
    "run_duration": 3879812,
    "trigger": "PERIODIC"
  },
  "notebook_output": {
    "result": "the maybe truncated string passed to dbutils.notebook.exit()"
  }
}

요청 구조체

필드 이름 Type 설명
run_id INT64 실행의 정식 식별자입니다. 여러 작업이 포함된 작업의 경우 이는 작업 실행의 run_id입니다. 출력 가져오기 실행을 참조하세요. 이 필드는 필수 필드입니다.

응답 구조

필드 이름 Type 설명
notebook_output 또는 error NotebookOutput 또는 STRING notebook_output인 경우 Notebook 태스크의 출력(사용 가능한 경우)입니다. 호출하지 않고 성공적으로 또는 실패와 함께 종료되는 Notebook 태스크인
dbutils.notebook.exit()는 출력이 비어 있는 것으로 간주됩니다. 이 필드는 설정되지만 해당 결과 값은 비어 있습니다.

오류인 경우 출력을 사용할 수 없는 이유를 나타내는 오류 메시지입니다. 메시지는 구조화되지 않으며 정확한 형식은 변경될 수 있습니다.
metadata Run 출력을 제외한 실행의 모든 세부 정보입니다.

실행 삭제

엔드포인트 HTTP 메서드
2.0/jobs/runs/delete POST

비활성 실행을 삭제합니다. 실행이 활성 상태이면 오류를 반환합니다.

예시

curl --netrc --request POST \
https://<databricks-instance>/api/2.0/jobs/runs/delete \
--data '{ "run_id": <run-id> }'

다음을

  • <databricks-instance>를 Azure Databricks 작업 영역 인스턴스 이름(예: adb-1234567890123456.7.azuredatabricks.net)으로 바꿉니다.
  • <run-id>를 실행의 ID(예: 123)로 바꿉니다.

다음 예제에서는 .netrc 파일을 사용합니다.

요청 구조체

필드 이름 Type 설명
run_id INT64 메타데이터를 검색할 실행의 정식 식별자입니다.

데이터 구조체

이 구역의 내용:

ABFSSStorageInfo

ADLS(Azure Data Lake Storage) 스토리지 정보입니다.

필드 이름 Type 설명
destination STRING 파일 대상입니다. 예: abfss://...

AutoScale

최소 및 최대 클러스터 작업자 수를 정의하는 범위입니다.

필드 이름 Type 설명
min_workers INT32 사용량이 부족할 때 클러스터를 축소할 수 있는 최소 작업자 수입니다. 또한 클러스터를 만든 후 갖게 될 초기 작업자 수이기도 합니다.
max_workers INT32 오버로드될 때 클러스터가 스케일 업할 수 있는 최대 작업자 수입니다. max_workers는 min_workers 보다 현저히 커야 합니다.

AzureAttributes

Azure과 관련된 클러스터를 만드는 동안 설정된 특성입니다.

필드 이름 Type 설명
first_on_demand INT32 클러스터의 첫 번째 first_on_demand 노드는 주문형 인스턴스에 배치됩니다. 이 값은 0보다 커야 합니다. 그렇지 않으면 클러스터 만들기 유효성 검사가 실패합니다. 이 값이 현재 클러스터 크기보다 크거나 같으면 모든 노드가 주문형 인스턴스에 배치됩니다. 이 값이 현재 클러스터 크기 보다 작으면 first_on_demand 노드가 주문형 인스턴스에 배치되고 나머지는 가용성 인스턴스에 배치됩니다. 이 값은 클러스터 크기에 영향을 주지 않으며 클러스터의 수명 동안 변경할 수 없습니다.
availability AzureAvailability first_on_demand 이후의 모든 노드에 사용되는 가용성 유형입니다.
spot_bid_max_price DOUBLE Azure 스폿 인스턴스에 사용되는 최대 입찰가입니다. 현재 스폿 가격보다 크거나 같게 설정할 수 있습니다. -1(기본값: 가격을 기준으로 인스턴스를 제거할 수 없음을 지정)로 설정할 수도 있습니다. 인스턴스의 가격은 스폿 인스턴스의 현재 가격 또는 표준 인스턴스의 가격이 됩니다. Azure Portal에서 가격 책정 기록 및 제거 요금을 볼 수 있습니다.

AzureAvailability

Azure 인스턴스 가용성 유형 동작입니다.

Type 설명
SPOT_AZURE 스폿 인스턴스를 사용합니다.
ON_DEMAND_AZURE 주문형 인스턴스를 사용합니다.
SPOT_WITH_FALLBACK_AZURE 스폿 인스턴스를 사용하는 것이 좋지만, 스폿 인스턴스를 획득할 수 없는 경우(예: Azure 스폿 가격이 너무 높거나 할당량을 초과한 경우) 주문형 인스턴스로 대체합니다. 풀 가용성에는 적용되지 않습니다.

ClusterInstance

실행에서 사용하는 클러스터 및 Spark 컨텍스트의 식별자입니다. 이러한 두 값은 모두 모든 시간에 걸쳐 실행 컨텍스트를 식별합니다.

필드 이름 Type 설명
cluster_id STRING 실행에서 사용하는 클러스터의 정식 식별자입니다. 이 필드는 항상 기존 클러스터에 대한 실행에 사용할 수 있습니다. 새 클러스터에 대한 실행의 경우 클러스터가 만들어지면 사용할 수 있게 됩니다. 이 값은 /#setting/sparkui/$cluster_id/driver-logs로 이동하여 로그를 보는 데 사용할 수 있습니다. 실행이 완료된 후에도 로그는 계속 사용할 수 있습니다.

식별자를 아직 사용할 수 없는 경우 이 필드는 응답에 포함되지 않습니다.
spark_context_id STRING 실행에서 사용하는 Spark 컨텍스트의 정식 식별자입니다. 실행이 실행되기 시작하면 이 필드가 채워집니다. 이 값은 /#setting/sparkui/$cluster_id/$spark_context_id로 이동하여 Spark UI를 보는 데 사용할 수 있습니다. 실행이 완료된 후에도 Spark UI는 계속 사용할 수 있습니다.

식별자를 아직 사용할 수 없는 경우 이 필드는 응답에 포함되지 않습니다.

ClusterLogConf

클러스터 로그에 대한 경로입니다.

필드 이름 Type 설명
dbfs DbfsStorageInfo 클러스터 로그의 DBFS 위치입니다. 대상을 제공해야 합니다. 예를 들면 다음과 같습니다.
{ "dbfs" : { "destination" : "dbfs:/home/cluster_log" } }

ClusterSpec

Important

  • 작업을 새 작업 클러스터에서 실행하는 경우 작업은 작업 컴퓨팅 가격 책정에 따라 Jobs Compute(자동화) 워크로드로 처리됩니다.
  • 작업을 기존 다목적 클러스터에서 실행하는 경우 All-Purpose Compute 가격 책정에 따라 All-Purpose Compute(대화형) 워크로드로 처리됩니다.
필드 이름 Type 설명
existing_cluster_id 또는 new_cluster STRING 또는 NewCluster existing_cluster_id인 경우 이 작업의 모든 실행에 사용할 기존 클러스터의 ID입니다. 작업을 기존 클러스터에서 실행할 때 응답이 중지되면 클러스터를 수동으로 다시 시작해야 할 수 있습니다. 안정성을 높이려면 작업을 새 클러스터에서 실행하는 것이 좋습니다.

new_cluster인 경우 각 실행에 대해 만들 클러스터에 대한 설명입니다.

PipelineTask를 지정하는 경우 이 필드는 비어 있을 수 있습니다.
libraries 라이브러리 배열 작업을 실행할 클러스터에 설치할 라이브러리의 선택적 목록입니다. 기본값은 빈 목록입니다.

ClusterTag

클러스터 태그 정의입니다.

Type 설명
STRING 태그의 키입니다. 키는 다음과 같아야 합니다.

- 1~512문자 사이여야 함
- <>%*&+?\\/ 문자를 포함하지 않음
- azure, microsoft, windows로 시작하지 않음
STRING 태그의 값입니다. 값 길이는 256 UTF-8 문자보다 작거나 같아야 합니다.

CronSchedule

필드 이름 Type 설명
quartz_cron_expression STRING 작업 일정을 설명하는 Quartz 구문을 사용하는 Cron 식입니다. 자세한 내용은 Cron 트리거를 참조하세요. 이 필드는 필수 필드입니다.
timezone_id STRING Java 표준 시간대 ID입니다. 작업 일정은 이 표준 시간대와 관련하여 결정됩니다. 자세한 내용은 Java TimeZone을 참조하세요. 이 필드는 필수 필드입니다.
pause_status STRING 이 일정이 일시 중지되었는지 여부를 나타냅니다. "PAUSED" 또는 "UNPAUSED" 중 하나입니다.

DbfsStorageInfo

DBFS 스토리지 정보입니다.

필드 이름 Type 설명
destination STRING DBFS 대상입니다. 예: dbfs:/my/path

FileStorageInfo

파일 스토리지 정보입니다.

참고 항목

이 위치 유형은 Databricks 컨테이너 서비스를 사용하여 설정된 클러스터에만 사용할 수 있습니다.

필드 이름 Type 설명
destination STRING 파일 대상입니다. 예: file:/my/file.sh

InitScriptInfo

init 스크립트의 경로입니다.

Databricks 컨테이너 서비스에서 init 스크립트를 사용하는 방법에 대한 지침은 init 스크립트 사용을 참조하세요.

참고 항목

파일 스토리지 유형(필드 이름: file)은 Databricks 컨테이너 서비스를 사용하여 설정된 클러스터에만 사용할 수 있습니다. FileStorageInfo를 참조하세요.

필드 이름 Type 설명
workspace OR
dbfs(더 이상 사용되지 않음)

또는
abfss
WorkspaceStorageInfo

DbfsStorageInfo (사용되지 않음)

ABFSSStorageInfo
init 스크립트의 작업 영역 위치입니다. 대상을 제공해야 합니다. 예를 들면 다음과 같습니다.
{ "workspace" : { "destination" : "/Users/someone@domain.com/init_script.sh" } }

(사용되지 않음) init 스크립트의 DBFS 위치입니다. 대상을 제공해야 합니다. 예를 들면 다음과 같습니다.
{ "dbfs" : { "destination" : "dbfs:/home/init_script" } }

init 스크립트의 ADLS(Azure Data Lake Storage) 위치입니다. 대상을 제공해야 합니다. 예를 들어 { "abfss": { "destination" : "abfss://..." } }

Job

필드 이름 Type 설명
job_id INT64 이 작업의 정식 식별자입니다.
creator_user_name STRING 작성자 사용자 이름입니다. 사용자가 이미 삭제된 경우 이 필드는 응답에 포함되지 않습니다.
run_as STRING 작업을 실행할 사용자 이름입니다. run_as는 현재 작업 설정을 기반으로 하며, 작업 액세스 제어가 사용하지 않도록 설정된 경우 작업 작성자로 설정되고, 작업 액세스 제어가 사용하도록 설정된 경우 is_owner 권한으로 설정됩니다.
settings JobSettings 이 작업 및 해당하는 모든 실행에 대한 설정입니다. 이러한 설정은 resetJob 메서드를 사용하여 업데이트할 수 있습니다.
created_time INT64 이 작업을 만든 시간(Epoch 밀리초 - 1970년 1월 1일 UTC 이후의 밀리초)입니다.

JobEmailNotifications

Important

on_start, on_success 및 on_failure 필드는 라틴 문자(ASCII 문자 집합)만 허용합니다. ASCII가 아닌 문자를 사용하면 오류가 반환됩니다. 잘못된 비 ASCII 문자의 예로는 중국어, 일본어 간지 및 이모지가 있습니다.

필드 이름 Type 설명
on_start STRING 배열입니다. 실행이 시작될 때 알림을 받을 이메일 주소 목록입니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다.
on_success STRING 배열입니다. 실행이 성공적으로 완료되면 알림을 받을 이메일 주소 목록입니다. 실행은 TERMINATED 상태의 life_cycle_stateSUCCESSFUL 상태의 result_state로 끝날 경우 성공적으로 완료된 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다.
on_failure STRING 배열입니다. 실행이 성공적으로 완료되지 않으면 알림을 받을 이메일 주소 목록입니다. 실행이 INTERNAL_ERROR
life_cycle_state 또는 SKIPPED, FAILED 또는 TIMED_OUT result_state로 끝나는 경우 성공적으로 완료된 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트 시 이 필드가 지정되지 않으면 목록이 비어 있고 알림을 보내지 않습니다.
on_duration_warning_threshold_exceeded STRING 배열입니다. 실행 기간이 health 필드에서 RUN_DURATION_SECONDS 메트릭에 대해 설정된 임계값을 초과할 때 알림을 받을 이메일 주소 목록입니다. health 필드에서 작업에 대한 RUN_DURATION_SECONDS 메트릭에 대한 규칙이 지정되지 않으면 알림이 전송되지 않습니다.
no_alert_for_skipped_runs BOOL true인 경우 실행을 건너뛰면 on_failure에 지정된 받는 사람에게 이메일을 보내지 않습니다.
필드 이름 Type 설명
on_start 웹후크의 배열 실행이 시작될 때 알림을 받을 선택적 시스템 대상 목록입니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_start 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_success 웹후크의 배열 실행이 성공적으로 완료되면 알림을 받을 선택적 시스템 대상 목록입니다. 실행은 TERMINATED 상태의 life_cycle_stateSUCCESSFUL 상태의 result_state로 끝날 경우 성공적으로 완료된 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_success 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_failure 웹후크의 배열 실행이 성공적으로 완료되지 않으면 알림을 받을 선택적 시스템 대상 목록입니다. 실행이 INTERNAL_ERROR
life_cycle_state 또는 SKIPPED, FAILED 또는 TIMED_OUT result_state로 끝나는 경우 성공적으로 완료된 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트 시 이 필드가 지정되지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_failure 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_duration_warning_threshold_exceeded 웹후크의 배열 실행 기간이 health 필드에서 RUN_DURATION_SECONDS 메트릭에 대해 지정된 임계값을 초과할 때 알림을 받을 선택적 시스템 대상 목록입니다. on_duration_warning_threshold_exceeded 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.

JobNotificationSettings

필드 이름 Type 설명
no_alert_for_skipped_runs BOOL true인 경우 실행을 건너뛰면 on_failure에 지정된 받는 사람에게 알림을 보내지 않습니다.
no_alert_for_canceled_runs BOOL true인 경우 실행을 취소하면 on_failure에 지정된 받는 사람에게 알림을 보내지 않습니다.
alert_on_last_attempt BOOL true이면 다시 시도된 실행에 대해 on_start에 지정된 받는 사람에게 알림을 보내지 않고, 마지막 실행 재시도까지 on_failure에 지정된 받는 사람에게 알림을 보내지 마세요.

JobSettings

Important

  • 작업을 새 작업 클러스터에서 실행하는 경우 작업은 작업 컴퓨팅 가격 책정에 따라 Jobs Compute(자동화) 워크로드로 처리됩니다.
  • 작업을 기존 다목적 클러스터에서 실행하는 경우 All-Purpose Compute 가격 책정에 따라 All-Purpose Compute(대화형) 워크로드로 처리됩니다.

작업에 대한 설정입니다. 이러한 설정은 resetJob 메서드를 사용하여 업데이트할 수 있습니다.

필드 이름 Type 설명
existing_cluster_id 또는 new_cluster STRING 또는 NewCluster existing_cluster_id인 경우 이 작업의 모든 실행에 사용할 기존 클러스터의 ID입니다. 작업을 기존 클러스터에서 실행할 때 응답이 중지되면 클러스터를 수동으로 다시 시작해야 할 수 있습니다. 안정성을 높이려면 작업을 새 클러스터에서 실행하는 것이 좋습니다.

new_cluster인 경우 각 실행에 대해 만들 클러스터에 대한 설명입니다.

PipelineTask를 지정하는 경우 이 필드는 비어 있을 수 있습니다.
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task 또는 run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask notebook_task인 경우 이 작업에서 Notebook을 실행해야 함을 나타냅니다. 이 필드는 spark_jar_task와 함께 지정할 수 없습니다.

spark_jar_task인 경우 이 작업에서 JAR을 실행해야 함을 나타냅니다.

spark_python_task인 경우 이 작업에서 Python 파일을 실행해야 함을 나타냅니다.

spark_submit_task인 경우 spark submit 스크립트에서 이 작업을 시작해야 임을 나타냅니다.

pipeline_task인 경우 이 작업에서 Delta Live Tables 파이프라인을 실행해야 함을 나타냅니다.

run_job_task 경우 이 작업이 다른 작업을 실행해야 함을 나타냅니다.
name STRING 작업에 대한 선택적 이름입니다. 기본값은 Untitled입니다.
libraries 라이브러리 배열 작업을 실행할 클러스터에 설치할 라이브러리의 선택적 목록입니다. 기본값은 빈 목록입니다.
email_notifications JobEmailNotifications 이 작업의 실행이 시작되거나 완료될 때와 이 작업이 삭제될 때 알림을 받을 이메일 주소의 선택적 집합입니다. 기본 동작은 이메일을 보내지 않는 것입니다.
webhook_notifications WebhookNotifications 이 작업의 실행이 시작, 완료 또는 실패할 때 알릴 선택적 시스템 대상의 세트입니다.
notification_settings JobNotificationSettings 이 작업에 대해 각각 email_notificationswebhook_notifications 에 알림을 보낼 때 사용되는 선택적 알림 설정입니다.
timeout_seconds INT32 이 작업의 각 실행에 적용되는 선택적 시간 제한입니다. 기본 동작은 시간 제한이 없는 것입니다.
max_retries INT32 실패한 실행을 다시 시도할 수 있는 선택적 최대 횟수입니다. 실행이 FAILED result_state 또는
INTERNAL_ERROR
life_cycle_state. -1 값은 무기한으로 다시 시도하고, 0 값은 다시 시도하지 않는 것을 의미합니다. 기본 동작은 다시 시도하지 않는 것입니다.
min_retry_interval_millis INT32 시도 간의 선택적 최소 간격(밀리초)입니다. 기본 동작은 실패한 실행을 즉시 다시 시도하는 것입니다.
retry_on_timeout BOOL 시간 제한을 초과하면 작업을 다시 시도할지 여부를 지정하는 선택적 정책입니다. 기본 동작은 시간 제한을 초과하면 다시 시도하지 않는 것입니다.
schedule CronSchedule 이 작업에 대한 선택적 정기 일정입니다. 기본 동작은 작업 UI에서 "지금 실행"을 클릭하거나 API 요청을
runNow.
max_concurrent_runs INT32 선택적으로 허용되는 작업의 최대 동시 실행 수입니다.

동일한 작업의 여러 실행을 동시에 실행할 수 있도록 하려면 이 값을 설정합니다. 예를 들어 이는 빈번한 일정에 따라 작업을 트리거하고 연속 실행이 서로 겹치도록 허용하거나 입력 매개 변수에 따라 다른 여러 실행을 트리거하려는 경우에 유용합니다.

이 설정은 새 실행에만 영향을 줍니다. 예를 들어 작업의 동시성이 4이고 4개의 동시 활성 실행이 있다고 가정합니다. 그런 다음, 동시성을 3으로 설정하면 활성 실행이 종료되지 않습니다. 그러나 이후부터 활성 실행이 3개 미만인 경우를 제외하고는 새 실행을 건너뜁니다.

이 값은 1000을 초과할 수 없습니다. 이 값을 0으로 설정하면 모든 새 실행을 건너뜁니다. 기본 동작은 하나의 동시 실행만 허용하는 것입니다.
health JobsHealthRules 작업에 대해 정의된 선택적 상태 규칙 집합입니다.

JobTask

필드 이름 Type 설명
notebook_task OR spark_jar_task OR
spark_python_task OR spark_submit_task OR
pipeline_task 또는 run_job_task
NotebookTask OR SparkJarTask OR SparkPythonTask OR SparkSubmitTask OR PipelineTask OR RunJobTask notebook_task인 경우 이 작업에서 Notebook을 실행해야 함을 나타냅니다. 이 필드는 spark_jar_task와 함께 지정할 수 없습니다.

spark_jar_task인 경우 이 작업에서 JAR을 실행해야 함을 나타냅니다.

spark_python_task인 경우 이 작업에서 Python 파일을 실행해야 함을 나타냅니다.

spark_submit_task인 경우 spark submit 스크립트에서 이 작업을 시작해야 임을 나타냅니다.

pipeline_task인 경우 이 작업에서 Delta Live Tables 파이프라인을 실행해야 함을 나타냅니다.

run_job_task 경우 이 작업이 다른 작업을 실행해야 함을 나타냅니다.

JobsHealthRule

필드 이름 Type 설명
metric STRING 특정 상태 규칙에 대해 평가되는 상태 메트릭을 지정합니다. 유효한 값은 RUN_DURATION_SECONDS입니다.
operator STRING 상태 메트릭 값을 지정된 임계값과 비교하는 데 사용되는 연산자를 지정합니다. 유효한 값은 GREATER_THAN입니다.
value INT32 상태 규칙을 준수하기 위해 상태 메트릭이 충족해야 하는 임계값을 지정합니다.

JobsHealthRules

필드 이름 Type 설명
rules JobsHealthRule의 배열 작업에 대해 정의할 수 있는 선택적 상태 규칙 세트입니다.

라이브러리

필드 이름 Type 설명
jar OR egg OR whl OR
pypi OR maven OR cran
STRING 또는 STRING 또는 STRING 또는 PythonPyPiLibrary 또는 MavenLibrary 또는 RCranLibrary jar인 경우, 설치할 JAR의 URI입니다. DBFS 및 ADLS(abfss) URI가 지원됩니다. 예: { "jar": "dbfs:/mnt/databricks/library.jar" } 또는
{ "jar": "abfss://<container-path>/library.jar" }. ADLS를 사용하는 경우 클러스터에 라이브러리에 대한 읽기 액세스 권한이 있어야 합니다.

egg인 경우, 설치할 egg의 URI입니다. DBFS 및 ADLS URI가 지원됩니다. 예: { "egg": "dbfs:/my/egg" } 또는
{ "egg": "abfss://<container-path>/egg" }.

whl인 경우, 설치할 wheel 또는 압축된 wheels 의 URI입니다. DBFS 및 ADLS URI가 지원됩니다. 예: { "whl": "dbfs:/my/whl" } 또는
{ "whl": "abfss://<container-path>/whl" }. ADLS를 사용하는 경우 클러스터에 라이브러리에 대한 읽기 액세스 권한이 있어야 합니다. 또한 wheel 파일 이름은 올바른 규칙을 사용해야 합니다. 압축된 wheels 을 설치해야 하는 경우 파일 이름의 접미사는 .wheelhouse.zip 이어야 합니다.

pypi인 경우, 설치할 PyPI 라이브러리의 사양입니다. repo 필드를 지정하는 것은 선택 사항이며, 지정하지 않으면 기본 pip 인덱스가 사용됩니다. 예시:
{ "package": "simplejson", "repo": "https://my-repo.com" }

maven인 경우, 설치할 Maven 라이브러리의 사양입니다. 예시:
{ "coordinates": "org.jsoup:jsoup:1.7.2" }

cran인 경우, 설치할 CRAN 라이브러리의 사양입니다.

MavenLibrary

필드 이름 Type 설명
coordinates STRING Gradle 스타일 Maven 좌표입니다. 예: org.jsoup:jsoup:1.7.2 이 필드는 필수 필드입니다.
repo STRING Maven 패키지를 설치할 원본 Maven 리포지토리입니다. 생략하면 Maven Central Repository와 Spark Package를 모두 검색합니다.
exclusions STRING 배열입니다. 제외할 종속성 목록입니다. 예: ["slf4j:slf4j", "*:hadoop-client"]

Maven 종속성 제외 사항: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html.

NewCluster

필드 이름 Type 설명
num_workers 또는 autoscale INT32 또는 AutoScale num_workers의 경우 이 클러스터에 있어야 하는 작업자 노드의 수입니다. 하나의 클러스터에 총 num_workers + 1개의 Spark 노드에 대해 하나의 Spark 드라이버와 num_workers개의 실행기가 있습니다.

참고: 클러스터의 속성을 읽을 때 이 필드는 실제 현재 작업자 수가 아니라 원하는 작업자 수를 반영합니다. 예를 들어 클러스터 크기가 5개에서 10개 작업자로 조정되는 경우 이 필드는 10개 작업자의 대상 크기를 반영하도록 즉시 업데이트되는 반면, spark_info에 나열된 작업자는 새 노드가 프로비전됨에 따라 5개에서 10개로 점진적으로 증가합니다.

자동 크기 조정의 경우 부하에 따라 클러스터를 자동으로 확장 및 축소하는 데 필요한 매개 변수입니다.
spark_version STRING 클러스터의 Spark 버전입니다. 사용 가능한 Spark 버전 목록은 GET 2.0/clusters/spark-versions 호출을 사용하여 검색할 수 있습니다. 이 필드는 필수 필드입니다.
spark_conf SparkConfPair 선택적 사용자 지정 Spark 구성 키-값 쌍 세트를 포함하는 개체입니다. 각각 다음을 통해 추가 JVM 옵션 문자열을 드라이버와 실행기에 전달할 수도 있습니다.
spark.driver.extraJavaOptionsspark.executor.extraJavaOptions.

Spark confs 예제:
{"spark.speculation": true, "spark.streaming.ui.retainedBatches": 5} 또는
{"spark.driver.extraJavaOptions": "-verbose:gc -XX:+PrintGCDetails"}
node_type_id STRING 이 필드는 단일 값을 통해 이 클러스터의 각 Spark 노드에서 사용할 수 있는 리소스를 인코딩합니다. 예를 들어 Spark 노드는 메모리 또는 컴퓨팅 집약적 워크로드에 맞게 프로비전 및 최적화할 수 있습니다. 사용 가능한 노드 유형 목록은 GET 2.0/clusters/list-node-types 호출을 사용하여 검색할 수 있습니다. 이 필드, instance_pool_id 필드 또는 노드 형식 ID 또는 인스턴스 풀 ID를 지정하는 클러스터 정책은 필수입니다.
driver_node_type_id STRING Spark 드라이버의 노드 형식입니다. 이 필드는 선택 사항입니다. 설정되지 않으면 드라이버 노드 유형은 위에서 정의한 node_type_id와 동일한 값으로 설정됩니다.
custom_tags ClusterTag 클러스터 리소스에 대한 태그 집합을 포함하는 개체입니다. Databricks는 default_tags 외에도 이러한 태그를 사용하여 모든 클러스터 리소스(예: VM)에 태그를 지정합니다.

:

- 태그는 컴퓨팅 최적화 및 메모리 최적화와 같은 레거시 노드 형식에서 지원되지 않습니다.
- Databricks는 최대 45개의 사용자 지정 태그를 허용합니다.
cluster_log_conf ClusterLogConf Spark 로그를 장기 스토리지 대상으로 배달하기 위한 구성입니다. 하나의 클러스터에 대해 하나의 대상만 지정할 수 있습니다. conf가 지정되면 로그가 5 mins마다 대상으로 전달됩니다. 드라이버 로그의 대상은 <destination>/<cluster-id>/driver이고, 실행기 로그의 대상은 <destination>/<cluster-id>/executor입니다.
init_scripts InitScriptInfo의 배열 init 스크립트를 저장하기 위한 구성입니다. 원하는 수의 스크립트를 지정할 수 있습니다. 스크립트는 제공된 순서대로 순차적으로 실행됩니다. cluster_log_conf이(가) 지정된 경우 init 스크립트 로그가 다음으로 전송됩니다.
<destination>/<cluster-id>/init_scripts.
spark_env_vars SparkEnvPair 선택적 사용자 지정 환경 변수 키-값 쌍 세트를 포함하는 개체입니다. (X,Y) 형식의 키-값 쌍은 드라이버와 작업자를 시작하는 동안 그대로(즉,
(즉, export X='Y').

추가 집합 SPARK_DAEMON_JAVA_OPTS을(를) 지정하려면 다음 예제와 같이 $SPARK_DAEMON_JAVA_OPTS에 추가하는 것이 좋습니다. 이렇게 하면 모든 기본 databricks 관리 환경 변수도 포함됩니다.

Spark 환경 변수 예제:
{"SPARK_WORKER_MEMORY": "28000m", "SPARK_LOCAL_DIRS": "/local_disk0"} 또는
{"SPARK_DAEMON_JAVA_OPTS": "$SPARK_DAEMON_JAVA_OPTS -Dspark.shuffle.service.enabled=true"}
enable_elastic_disk BOOL 로컬 스토리지 자동 크기 조정: 사용하도록 설정되면 Spark 작업자의 디스크 공간이 부족할 때 이 클러스터에서 추가 디스크 공간을 동적으로 획득합니다. 자세한 내용은 로컬 스토리지 자동 크기 조정 사용을 참조하세요.
driver_instance_pool_id STRING 드라이버 노드에 사용할 인스턴스 풀의 선택적 ID입니다. 또한 instance_pool_id를 지정해야 합니다. 자세한 내용은 인스턴스 풀 API을 참조하세요.
instance_pool_id STRING 클러스터 노드에 사용할 인스턴스 풀의 선택적 ID입니다. driver_instance_pool_id이(가) 있는 경우
instance_pool_id은(는) 작업자 노드에만 사용됩니다. 그렇지 않으면 드라이버 노드와 작업자 노드 모두에 사용됩니다. 자세한 내용은 인스턴스 풀 API을 참조하세요.

NotebookOutput

필드 이름 Type 설명
result STRING dbutils.notebook.exit()에 전달된 값입니다. Azure Databricks는 이 API에서 값의 처음 1MB를 반환하도록 제한합니다. 더 큰 결과를 얻기 위해 작업에서 결과를 클라우드 스토리지 서비스에 저장할 수 있습니다. dbutils.notebook.exit()가 호출되지 않으면 이 필드가 없습니다.
truncated BOOLEAN 결과가 잘렸는지 여부입니다.

NotebookTask

모든 출력 셀의 크기는 8MB입니다. 셀의 출력 크기가 더 크면 나머지 실행이 취소되고 실행이 실패한 것으로 표시됩니다. 이 경우 다른 셀에서 출력된 콘텐츠 중 일부도 누락될 수 있습니다.

제한을 초과하는 셀을 찾는 데 도움이 필요한 경우 다목적 클러스터에 대해 Notebook을 실행하고 이 Notebook 자동 저장 기술을 사용합니다.

필드 이름 Type 설명
notebook_path STRING Azure Databricks 작업 영역에서 실행할 Notebook의 절대 경로입니다. 이 경로는 슬래시로 시작해야 합니다. 이 필드는 필수 필드입니다.
revision_timestamp LONG Notebook의 수정 버전에 대한 타임스탬프입니다.
base_parameters ParamPair 이 작업의 각 실행에 사용할 기본 매개 변수입니다. 매개 변수가 지정된 run-now를 호출하여 실행이 시작되면 두 매개 변수 맵이 병합됩니다. 동일한 키가 base_parametersrun-now에 지정되면 run-now의 값이 사용됩니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

Notebook에서 작업의 base_parameters 또는 run-now 재정의 매개 변수에 지정되지 않은 매개 변수를 사용하는 경우 Notebook의 기본값이 사용됩니다.

dbutils.widgets.get을 사용하여 Notebook에서 이러한 매개 변수를 검색합니다.

ParamPair

Notebook 태스크를 실행하는 작업에 대한 이름 기반 매개 변수입니다.

Important

이 데이터 구조의 필드는 라틴 문자(ASCII 문자 집합)만 허용합니다. ASCII가 아닌 문자를 사용하면 오류가 반환됩니다. 잘못된 비 ASCII 문자의 예로는 중국어, 일본어 간지 및 이모지가 있습니다.

Type 설명
STRING 매개 변수 이름입니다. dbutils.widgets.get에 전달하여 값을 검색합니다.
STRING 매개 변수 값입니다.

PipelineTask

필드 이름 Type 설명
pipeline_id STRING 실행할 Delta Live Tables 파이프라인 태스크의 전체 이름입니다.

PythonPyPiLibrary

필드 이름 Type 설명
package STRING 설치할 PyPI 패키지의 이름입니다. 정확한 버전 사양(선택 사항)도 지원됩니다. 예를 들어 simplejsonsimplejson==3.8.0가 있습니다. 이 필드는 필수 필드입니다.
repo STRING 패키지를 찾을 수 있는 리포지토리입니다. 지정하지 않으면 기본 pip 인덱스가 사용됩니다.

RCranLibrary

필드 이름 Type 설명
package STRING 설치할 CRAN 패키지의 이름입니다. 이 필드는 필수 필드입니다.
repo STRING 패키지를 찾을 수 있는 리포지토리입니다. 지정하지 않으면 기본 CRAN 리포지토리가 사용됩니다.

Run

출력을 제외한 실행에 대한 모든 정보입니다. 출력은 getRunOutput 메서드를 사용하여 별도로 검색할 수 있습니다.

필드 이름 Type 설명
job_id INT64 이 실행이 포함된 작업의 정식 식별자입니다.
run_id INT64 실행의 정식 식별자입니다. 이 ID는 모든 작업의 모든 실행에서 고유합니다.
creator_user_name STRING 작성자 사용자 이름입니다. 사용자가 이미 삭제된 경우 이 필드는 응답에 포함되지 않습니다.
number_in_job INT64 작업의 모든 실행 중에서 이 실행의 시퀀스 번호입니다. 이 값은 1에서 시작합니다.
original_attempt_run_id INT64 이 실행이 이전 실행 시도의 다시 시도인 경우 이 필드에는 원래 시도의 run_id가 포함되고, 그렇지 않은 경우 run_id와 동일합니다.
state RunState 실행의 결과 및 수명 주기 상태입니다.
schedule CronSchedule 주기적 스케줄러에서 트리거된 경우 이 실행을 트리거한 cron 일정입니다.
task JobTask 실행에서 수행하는 태스크(있는 경우)입니다.
cluster_spec ClusterSpec 이 실행을 만들 때 작업의 클러스터 사양에 대한 스냅샷입니다.
cluster_instance ClusterInstance 이 실행에 사용되는 클러스터입니다. 실행이 새 클러스터를 사용하도록 지정된 경우 작업 서비스에서 실행에 대한 클러스터를 요청하면 이 필드가 설정됩니다.
overriding_parameters RunParameters 이 실행에 사용되는 매개 변수입니다.
start_time INT64 이 실행을 시작한 시간(Epoch 밀리초 - 1970년 1월 1일 UTC 이후의 밀리초)입니다. 이는 작업 태스크 실행을 시작하는 시간이 아닐 수 있습니다. 예를 들어 작업이 새 클러스터에서 실행되도록 예약된 경우 클러스터 만들기 호출이 실행되는 시간입니다.
setup_duration INT64 클러스터를 설정하는 데 걸린 시간(밀리초)입니다. 새 클러스터에서 실행되는 실행의 경우 이는 클러스터를 만든 시간이며, 기존 클러스터에서 실행되는 실행의 경우 이 시간은 매우 짧아야 합니다.
execution_duration INT64 명령이 완료되거나, 실패하거나, 시간 초과되거나, 취소되거나 예기치 않은 오류가 발생할 때까지 JAR 또는 Notebook에서 명령을 실행하는 데 걸린 시간(밀리초)입니다.
cleanup_duration INT64 클러스터를 종료하고 연결된 아티팩트를 정리하는 데 걸린 시간(밀리초)입니다. 총 실행 기간은 setup_duration, execution_duration 및 cleanup_duration의 합계입니다.
end_time INT64 이 실행이 Epoch 밀리초(1970년 1월 1일 UTC 이후의 밀리초)로 종료된 시간입니다. 작업이 계속 실행 중인 경우 이 필드는 0으로 설정됩니다.
trigger TriggerType 이 실행을 실행한 트리거 형식입니다.
run_name STRING 실행에 대한 선택적 이름입니다. 기본값은 Untitled입니다. 허용되는 최대 길이는 UTF-8 인코딩에서 4,096바이트입니다.
run_page_url STRING 실행의 세부 정보 페이지에 대한 URL입니다.
run_type STRING 실행의 형식입니다.

- JOB_RUN - 일반 작업 실행입니다. 지금 실행을 사용하여 만든 실행입니다.
- WORKFLOW_RUN - 워크플로 실행입니다. dbutils.notebook.run을 사용하여 만든 실행입니다.
- SUBMIT_RUN - 실행 제출입니다. 지금 실행을 사용하여 만든 실행입니다.
attempt_number INT32 트리거된 작업 실행에 대한 이 실행 시도의 시퀀스 번호입니다. 실행의 초기 시도에 대한 attempt_number는 0입니다. 초기 실행 시도가 실패하고 작업에 다시 시도 정책(max_retries> 0)이 있는 경우 원래 시도 ID의 original_attempt_run_id 및 증분하는 attempt_number를 사용하여 후속 실행이 만들어집니다. 실행은 성공할 때까지만 다시 시도되며 최대 attempt_number는 작업의 max_retries 값과 동일합니다.

RunJobTask

필드 이름 Type 설명
job_id INT32 실행할 작업의 고유 식별자입니다. 이 필드는 필수 필드입니다.

RunLifeCycleState

실행의 수명 주기 상태입니다. 허용되는 상태 전환은 다음과 같습니다.

  • QUEUED ->PENDING
  • PENDING ->RUNNING ->TERMINATING ->TERMINATED
  • PENDING ->SKIPPED
  • PENDING ->INTERNAL_ERROR
  • RUNNING ->INTERNAL_ERROR
  • TERMINATING ->INTERNAL_ERROR
시스템 상태 설명
QUEUED 실행이 트리거되었지만 다음 제한 중 하나에 도달했기 때문에 큐에 대기됩니다.

- 작업 영역에서 최대 동시 활성 실행
- 작업 영역에서 최대 동시 Run Job 작업 실행
- 작업의 최대 동시 실행

작업 또는 실행이 이 상태에 도달하기 전에 큐를 사용하도록 설정해야 합니다.
PENDING 실행이 트리거되었습니다. 작업에 설정된 최대 동시 실행 수에 이미 도달한 경우, 리소스를 준비하지 않고 실행이 즉시 SKIPPED 상태로 전환됩니다. 그렇지 않은 경우 클러스터 준비 및 실행이 진행 중입니다.
RUNNING 이 실행의 태스크가 실행되고 있습니다.
TERMINATING 이 실행의 태스크가 완료되었으며 클러스터 및 실행 컨텍스트가 정리되고 있습니다.
TERMINATED 이 실행의 태스크가 완료되었으며 클러스터 및 실행 컨텍스트가 정리되었습니다. 이 상태는 터미널입니다.
SKIPPED 동일한 작업의 이전 실행이 이미 활성화되어 있으므로 이 실행이 중단되었습니다. 이 상태는 터미널입니다.
INTERNAL_ERROR 오랜 기간 동안의 네트워크 오류와 같은 작업 서비스의 실패를 나타내는 예외 상태입니다. 새 클러스터에서 실행이 INTERNAL_ERROR 상태로 종료되면 작업 서비스에서 최대한 빨리 클러스터를 종료합니다. 이 상태는 터미널입니다.

RunParameters

이 실행에 대한 매개 변수입니다. 작업 태스크의 종류에 따라 jar_params, python_params 또는 notebook_params 중 하나만 run-now 요청에 지정해야 합니다. Spark JAR 태스크 또는 Python 태스크가 있는 작업은 위치 기반 매개 변수 목록을 사용하고, Notebook 태스크가 있는 작업은 키 값 맵을 사용합니다.

필드 이름 Type 설명
jar_params STRING 배열입니다. Spark JAR 태스크가 있는 작업에 대한 매개 변수 목록(예: "jar_params": ["john doe", "35"])입니다. 매개 변수는 Spark JAR 태스크에 지정된 주 클래스의 main 함수를 호출하는 데 사용됩니다. run-now에 지정하지 않으면 기본적으로 빈 목록이 됩니다. jar_params는 notebook_params와 함께 지정할 수 없습니다. 이 필드의 JSON 표현(예: {"jar_params":["john doe","35"]})은 10,000바이트를 초과할 수 없습니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.
notebook_params ParamPair Notebook 태스크가 있는 작업에 대한 키에서 값으로의 맵(예:
"notebook_params": {"name": "john doe", "age": "35"}. 맵은 Notebook에 전달되며 dbutils.widgets.get 함수를 통해 액세스할 수 있습니다.

run-now에 지정하지 않으면 트리거된 실행에서 작업의 기본 매개 변수를 사용합니다.

notebook_params는 jar_params와 함께 지정할 수 없습니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

이 필드의 JSON 표현(예:
{"notebook_params":{"name":"john doe","age":"35"}})은 10,000바이트를 초과할 수 없습니다.
python_params STRING 배열입니다. Python 태스크가 있는 작업에 대한 매개 변수 목록입니다(예: "python_params": ["john doe", "35"]). 매개 변수는 명령줄 매개 변수로 Python 파일에 전달됩니다. run-now에 지정하면 작업 설정에 지정된 매개 변수를 덮어씁니다. 이 필드의 JSON 표현(예: {"python_params":["john doe","35"]})은 10,000바이트를 초과할 수 없습니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

> [!중요] >> 이러한 매개 변수는 라틴 문자(ASCII 문자 집합)만 허용합니다. > ASCII가 아닌 문자를 사용하면 오류가 반환됩니다. 잘못된 비 ASCII > 문자의 예로는 중국어, 일본어 간지 및 이모지가 있습니다.
spark_submit_params STRING 배열입니다. spark submit 태스크가 있는 작업에 대한 매개 변수 목록(예:
"spark_submit_params": ["--class", "org.apache.spark.examples.SparkPi"]. 매개 변수는 명령줄 매개 변수로 spark-submit 스크립트에 전달됩니다. run-now에 지정하면 작업 설정에 지정된 매개 변수를 덮어씁니다. 이 필드의 JSON 표현(예: {"python_params":["john doe","35"]})은 10,000바이트를 초과할 수 없습니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

> [!중요] >> 이러한 매개 변수는 라틴 문자(ASCII 문자 집합)만 허용합니다. > ASCII가 아닌 문자를 사용하면 오류가 반환됩니다. 잘못된 비 ASCII > 문자의 예로는 중국어, 일본어 간지 및 이모지가 있습니다.

RunResultState

실행의 결과 상태입니다.

  • life_cycle_state = TERMINATED인 경우: 실행에 태스크가 있으면 결과를 사용할 수 있음이 보장되고 태스크의 결과를 나타냅니다.
  • life_cycle_state = PENDING, RUNNING 또는 SKIPPED인 경우 결과 상태를 사용할 수 없습니다.
  • life_cycle_state = TERMINATING 또는 lifecyclestate = INTERNAL_ERROR인 경우: 실행에 태스크가 있고 시작하도록 관리되면 결과 상태를 사용할 수 있습니다.

사용할 수 있는 경우 결과 상태가 변경되지 않습니다.

시스템 상태 설명
SUCCESS 태스크가 성공적으로 완료되었습니다.
FAILED 태스크가 오류와 함께 완료되었습니다.
TIMEDOUT 시간 제한에 도달한 후 실행이 중지되었습니다.
CANCELED 사용자 요청에 따라 실행이 취소되었습니다.

RunState

필드 이름 Type 설명
life_cycle_state RunLifeCycleState 실행 수명 주기에서 실행의 현재 위치에 대한 설명입니다. 이 필드는 응답에서 항상 사용할 수 있습니다.
result_state RunResultState 실행의 결과 상태입니다. 사용할 수 없는 경우 이 필드는 응답에 포함되지 않습니다. result_state의 가용성에 대한 자세한 내용은 RunResultState를 참조하세요.
user_cancelled_or_timedout BOOLEAN 실행 시간이 초과되어 사용자 또는 스케줄러에서 실행을 수동으로 취소했는지 여부입니다.
state_message STRING 현재 상태에 대한 설명 메시지입니다. 필드는 구조화되지 않으며 정확한 형식은 변경될 수 있습니다.

SparkConfPair

Spark 구성 키-값 쌍입니다.

Type 설명
STRING 구성 속성 이름입니다.
STRING 구성 속성 값입니다.

SparkEnvPair

Spark 환경 변수 키-값 쌍.

Important

작업 클러스터에서 환경 변수를 지정할 때 이 데이터 구조의 필드는 라틴 문자(ASCII 문자 집합)만 허용합니다. ASCII가 아닌 문자를 사용하면 오류가 반환됩니다. 잘못된 비 ASCII 문자의 예로는 중국어, 일본어 간지 및 이모지가 있습니다.

Type 설명
STRING 환경 변수 이름입니다.
STRING 환경 변수 값입니다.

SparkJarTask

필드 이름 Type 설명
jar_uri STRING 2016년 4월부터 더 이상 사용되지 않습니다. 대신 libraries 필드를 통해 jar을 제공합니다. 예제는 만들기를 참조하세요.
main_class_name STRING 실행될 main 메서드가 포함된 클래스의 전체 이름입니다. 이 클래스는 라이브러리로 제공된 JAR에 포함되어야 합니다.

코드는 SparkContext.getOrCreate를 사용하여 Spark 컨텍스트를 가져와야 합니다. 그렇지 않으면 작업 실행이 실패합니다.
parameters STRING 배열입니다. main 메서드에 전달되는 매개 변수입니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

SparkPythonTask

필드 이름 Type 설명
python_file STRING 실행할 Python 파일의 URI입니다. DBFS 경로가 지원됩니다. 이 필드는 필수 필드입니다.
parameters STRING 배열입니다. Python 파일에 전달되는 명령줄 매개 변수입니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

SparkSubmitTask

Important

  • Spark 제출 태스크는 새 클러스터에서만 호출할 수 있습니다.
  • new_cluster 사양에서 librariesspark_conf는 지원되지 않습니다. 대신 --jars--py-files를 사용하여 Java 및 Python 라이브러리를 추가하고, --conf를 사용하여 Spark 구성을 설정합니다.
  • master, deploy-modeexecutor-cores는 Azure Databricks에서 자동으로 구성되며, 매개 변수에 지정할 수 없습니다.
  • 기본적으로 Spark 제출 작업은 모든 사용 가능한 메모리를 사용합니다(Azure Databricks 서비스에 예약된 메모리 제외). --driver-memory--executor-memory를 더 작은 값으로 설정하여 오프 힙 사용을 위한 공간을 남길 수 있습니다.
  • --jars, --py-files, --files 인수는 DBFS 경로를 지원합니다.

예를 들어 JAR이 DBFS에 업로드되었다고 가정하면 다음 매개 변수를 설정하여 SparkPi를 실행할 수 있습니다.

{
  "parameters": [
    "--class",
    "org.apache.spark.examples.SparkPi",
    "dbfs:/path/to/examples.jar",
    "10"
  ]
}
필드 이름 Type 설명
parameters STRING 배열입니다. spark 제출에 전달되는 명령줄 매개 변수입니다.

동적 값 참조란?을 사용하여 작업 실행에 대한 정보가 포함된 매개 변수를 설정합니다.

TriggerType

실행을 실행할 수 있는 트리거 형식입니다.

Type 설명
PERIODIC cron 스케줄러와 같이 주기적으로 실행을 트리거하는 일정입니다.
ONE_TIME 단일 실행을 실행하는 일회성 트리거입니다. 이는 UI 또는 API를 통해 요청 시 단일 실행을 트리거했을 때 발생합니다.
RETRY 이전에 실패한 실행의 다시 시도로 트리거되는 실행을 나타냅니다. 이는 실패한 경우 작업을 다시 실행하도록 요청할 때 발생합니다.

ViewItem

내보낸 콘텐츠는 HTML 형식입니다. 예를 들어 내보낼 보기가 대시보드인 경우 각 대시보드에 대해 하나의 HTML 문자열이 반환됩니다.

필드 이름 Type 설명
content STRING 보기의 콘텐츠입니다.
name STRING 보기 항목의 이름입니다. 코드 보기의 경우 Notebook의 이름입니다. 대시보드 보기의 경우 대시보드의 이름입니다.
type ViewType 보기 항목의 형식입니다.

ViewType

Type 설명
NOTEBOOK Notebook 보기 항목입니다.
DASHBOARD 대시보드 보기 항목입니다.

ViewsToExport

내보낼 보기: 코드, 모든 대시보드 또는 모두.

Type 설명
CODE Notebook의 코드 보기입니다.
DASHBOARDS Notebook의 모든 대시보드 보기입니다.
ALL Notebook의 모든 보기입니다.

Webhook

필드 이름 Type 설명
id STRING 시스템 알림 대상을 참조하는 식별자입니다. 이 필드는 필수 필드입니다.

WebhookNotifications

필드 이름 Type 설명
on_start 웹후크의 배열 실행이 시작될 때 알림을 받을 선택적 시스템 대상 목록입니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_start 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_success 웹후크의 배열 실행이 성공적으로 완료되면 알림을 받을 선택적 시스템 대상 목록입니다. 실행은 TERMINATED 상태의 life_cycle_stateSUCCESSFUL 상태의 result_state로 끝날 경우 성공적으로 완료된 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트할 때 지정하지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_success 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_failure 웹후크의 배열 실행이 성공적으로 완료되지 않으면 알림을 받을 선택적 시스템 대상 목록입니다. 실행이 INTERNAL_ERROR
life_cycle_state로 끝나거나, SKIPPED,FAILED, 또는 TIMED_OUT result_state로 끝나는 경우, 해당 실행은 성공적으로 완료되지 않은 것으로 간주됩니다. 작업을 만들거나 다시 설정하거나 업데이트 시 이 필드가 지정되지 않으면 목록이 비어 있고 알림을 보내지 않습니다. on_failure 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.
on_duration_warning_threshold_exceeded 웹후크의 배열 실행 기간이 health 필드에서 RUN_DURATION_SECONDS 메트릭에 대해 지정된 임계값을 초과할 때 알림을 받을 선택적 시스템 대상 목록입니다. on_duration_warning_threshold_exceeded 속성에 대해 최대 3개의 대상을 지정할 수 있습니다.

WorkspaceStorageInfo

작업 영역 스토리지 정보입니다.

필드 이름 Type 설명
destination STRING 파일 대상입니다. 예: /Users/someone@domain.com/init_script.sh