gpt4 book ai didi

azure - Azure Databricks 作业的 DevOps

转载 作者:行者123 更新时间:2023-12-02 07:21:42 24 4
gpt4 key购买 nike

我正在尝试在 Azure Databricks 上实现 DevOps。

我已经完成了 databricks 笔记本和 dbfs 文件的 DevOps 实现。

我确实有许多 databricks 作业根据计划在我的集群上运行。其中一些作业指向笔记本文件,少数作业指向 dbfs 位置中的 jar 文件。

是否有任何方法可以在 azure databricks 作业上实现 devops 流程,以便 DEV 中任何作业的任何更改都将调用构建管道并在 PROD databricks 实例中部署相同的管道。

首先,我想知道是否可以在 azure databricks 作业上实现 devops。

感谢任何线索!

最佳答案

为了有效地做到这一点,我建议使用 Databricks Terraform provider为此 - 在本例中为 definition of the job可以存储在Git或者类似的东西中,然后很容易与CI/CD系统集成,例如Azure DevOps、GitHub Actions等。

环境之间的差异可以编码为具有不同文件的变量,其中包含不同环境的变量等,因此您可以在环境之间重用主要代码,如下所示:

provider "databricks" {
host = var.db_host
token = var.db_token
}

data "databricks_spark_version" "latest" {}
data "databricks_node_type" "smallest" {
local_disk = true
}

resource "databricks_job" "this" {
name = "Job"

new_cluster {
num_workers = 1
spark_version = data.databricks_spark_version.latest.id
node_type_id = data.databricks_node_type.smallest.id
}

notebook_task {
notebook_path = "path_to_notebook"
}

email_notifications {}
}

附注理论上,您可以实现一些定期任务,从原始环境中提取作业定义,检查作业定义是否已更改,并将更改应用到另一个环境。您甚至可以通过 diagnostic logs 跟踪作业定义的更改,并将其用作触发器。

但是所有这些都只是 hack - 最好使用 Terraform。

关于azure - Azure Databricks 作业的 DevOps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65036477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com