설명
Databricks의 spark_submit_task는 새 클러스터에서만 실행할 수 있고 라이브러리와 Spark 설정 전달 방식에도 제약이 있습니다. 가능한 경우 작업 목적에 맞는 spark_jar_task, spark_python_task, notebook_task를 사용하세요.
잠재적 영향
태스크 유형에 맞지 않는 클러스터나 인수를 사용하면 작업이 실패할 수 있습니다. spark_submit_task를 사용한다는 사실만으로 보안 침해가 발생한 것은 아닙니다.
해결 방법
실행할 코드에 맞는 태스크로 전환하면서 진입점, 인수, 라이브러리와 실행 환경을 유지하세요. 변경한 작업이 같은 결과를 내는지 확인하세요.
예시
예시는 같은 JAR의 com.acme.data.Main을 실행합니다. 변경 전은 새 클러스터를, 변경 후는 기존 공유 클러스터를 사용합니다. JAR 경로 입력값인 var.application_jar와 데이터 소스·클러스터 정의는 생략했습니다.
변경 전
hcl
resource "databricks_job" "example" {
name = "Job with multiple tasks"
task {
task_key = "b"
new_cluster {
num_workers = 1
spark_version = data.databricks_spark_version.latest.id
node_type_id = data.databricks_node_type.smallest.id
}
spark_submit_task {
parameters = ["--class", "com.acme.data.Main", var.application_jar]
}
}
}
변경 후
hcl
resource "databricks_job" "example" {
name = "Job with multiple tasks"
task {
task_key = "b"
existing_cluster_id = databricks_cluster.shared.id
library {
jar = var.application_jar
}
spark_jar_task {
main_class_name = "com.acme.data.Main"
}
}
}