For AI agents: A markdown version of this page is available at https://docs.datadoghq.com/security/code_security/iac_security/iac_rules/terraform-databricks-use-spark-submit-task.md.
A documentation index is available at /llms.txt.
This rule detects databricks_job resources with task.spark_submit_task and reports an IncorrectValue issue.
Use of spark_submit_task in job tasks is not allowed.
Compliant Code Examples
resource"databricks_job""negative1"{name="Job with multiple tasks"job_cluster{job_cluster_key="j"new_cluster{num_workers=2spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}}task{task_key="a"new_cluster{num_workers=1spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}notebook_task{notebook_path=databricks_notebook.this.path}}task{task_key="b" //this task will only run after task a
depends_on{task_key="a"}existing_cluster_id=databricks_cluster.shared.idspark_jar_task{main_class_name="com.acme.data.Main"}}task{task_key="c"job_cluster_key="j"notebook_task{notebook_path=databricks_notebook.this.path}} //this task starts a Delta Live Tables pipline update
task{task_key="d"pipeline_task{pipeline_id=databricks_pipeline.this.id}}}
resource"databricks_job""negative1"{name="Job with multiple tasks"job_cluster{job_cluster_key="j"new_cluster{num_workers=2spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}}task{task_key="a"new_cluster{num_workers=1spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}notebook_task{notebook_path=databricks_notebook.this.path}}}
Non-Compliant Code Examples
resource"databricks_job""positive"{name="Job with multiple tasks"job_cluster{job_cluster_key="j"new_cluster{num_workers=2spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}}task{task_key="a"new_cluster{num_workers=1spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}notebook_task{notebook_path=databricks_notebook.this.path}}task{task_key="b" //this task will only run after task a
depends_on{task_key="a"}existing_cluster_id=databricks_cluster.shared.idspark_submit_task{main_class_name="com.acme.data.Main"}}task{task_key="c"job_cluster_key="j"notebook_task{notebook_path=databricks_notebook.this.path}} //this task starts a Delta Live Tables pipline update
task{task_key="d"pipeline_task{pipeline_id=databricks_pipeline.this.id}}}
resource"databricks_job""positive"{name="Job with multiple tasks"job_cluster{job_cluster_key="j"new_cluster{num_workers=2spark_version=data.databricks_spark_version.latest.idnode_type_id=data.databricks_node_type.smallest.id}}task{task_key="a"existing_cluster_id=databricks_cluster.shared.idspark_submit_task{main_class_name="com.acme.data.Main"}}}
1
2
rulesets:- Terraform / Databricks # Rules to enforce / Databricks.
Request a personalized demo
Get Started with Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.