terraform - 通过 terraform 将 Azure Databricks 集群的运行时版本更改为 13.3 LTS

标签 terraform databricks azure-databricks terraform-provider-azure terraform-provider-databricks

我已使用 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 Apply error

我在上面写的其他值中得到了完全相同的错误。

我的问题是 terraform 中应该使用什么 Spark 版本才能将运行时更改为 13.3 LTS? 换句话说,从现有的运行时进行更改,如下所示: The AS-IS cluster

到如下所示的运行时 13.3 LTS:

Runtime version 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.1213.0.x-scala2.12 有效。

3.12.0-scala2.123.12.1-scala2.123.12.2-scala2.1213.0-lts 不是。

关于terraform - 通过 terraform 将 Azure Databricks 集群的运行时版本更改为 13.3 LTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77102159/

相关文章:

aws-cloudformation - 如何使用 Cloudformation 模板中的变量作为 terraform 中 "Data source"的功能

aws-lambda - Lambda 链接 - 使用 terraform 从另一个 lambda 调用 lambda

azure - 使用私有(private) DockerHub 存储库中的 Terraform 在 Azure 上部署容器

python - 在 Databricks 中导入笔记本

apache-spark - Spark 读取 CSV - 不显示损坏的记录

azure - 通过 ARM 模板或 Powershell 在 Databricks 中配置 Azure DevOps 存储库

machine-learning - 如何在天蓝色数据 block 中导出我的预测(数组)?

terraform - 如何让 Terraform 在 Docker 容器之前启动 Docker 网络

apache-spark - 使用 python 将数据 block 数据帧写入 S3

azure - Databricks parquet 读取时间太长