我已使用 terraform 在 Azure Databricks 工作区中创建了 Databricks 群集。我正在使用 terraform azurerm 和 databricks 提供程序。我的集群的运行时版本是 11.3 LTS。现在我想将其更改为 13.3 LTS。我对集群的所有更改都必须通过 terraform 完成,而不是手动完成。这是我们组织的政策。这是我用来创建集群的 terraform 代码:我创建了一个模块,并在代码中调用该模块,该模块在运行时 11.3 上运行得很好:
mod_databricks_cluster.tf 文件如下:
module "mod_cluster_job_run" {
source = "git::https://dev.azure.com/MyOrganization/MyProject/_git/tf-module-databricks-cluster?ref=2.0.0"
cluster_name = "tf-spark-job-cluster"
autoscale = false
autotermination_minutes = 60
spark_version = "11.3.x-scala2.12" #"13.0-lts"#"13.0.x-scala2.12"
spark_conf = local.spark_conf_test
node_type_id = var.cluster_node_type
driver_node_type_id = var.cluster_node_type
num_workers = var.num_workers
}
这效果非常好。但是当我尝试将spark_version更改为以下任何值“3.12.0-scala2.12”,“3.12.1-scala2.12”,“3.12.2-scala2.12”,“13.0-lts”或“13.0 .x-scala2.12”,它失败并出现以下错误:(terraform apply 正在 Azure DevOps 管道中运行)
错误:无法更新集群:spark 版本 3.12.0-scala2.12 无效。 使用 module.mod_cluster_job_run.databricks_cluster.cluster, 在 .terraform/modules/mod_cluster_job_run/main.tf 第 1 行,资源“databricks_cluster”“cluster”中: 1:资源“databricks_cluster”“集群”
这是错误的屏幕截图:
我在上面写的其他值中得到了完全相同的错误。
我的问题是 terraform 中应该使用什么 Spark 版本才能将运行时更改为 13.3 LTS? 换句话说,从现有的运行时进行更改,如下所示:
到如下所示的运行时 13.3 LTS:
什么 Spark 版本值可以被 terraform 接受?
最佳答案
您可以从 Databricks Cluster API 获取所有有效的 Spark 版本或 CLI:
$ databricks clusters spark-versions | jq -r '.versions[].key' | sort
(...)
13.3.x-cpu-ml-scala2.12
13.3.x-gpu-ml-scala2.12
13.3.x-photon-scala2.12
13.3.x-scala2.12
(...)
13.3.x-scala2.12
和 13.0.x-scala2.12
有效。
3.12.0-scala2.12
、3.12.1-scala2.12
、3.12.2-scala2.12
、13.0-lts
不是。
关于terraform - 通过 terraform 将 Azure Databricks 集群的运行时版本更改为 13.3 LTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77102159/