首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Azure数据库的DevOps作业

用于Azure数据库的DevOps作业
EN

Stack Overflow用户
提问于 2020-11-27 19:18:57
回答 1查看 209关注 0票数 2

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

我已经完成了databricks、notebooks和dbfs文件的devops实现。

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

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

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

感谢任何线索!

EN

回答 1

Stack Overflow用户

发布于 2021-02-05 15:14:15

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

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

代码语言:javascript
复制
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跟踪作业定义的更改,并将其用作触发器。

但所有这些只是一些技巧--最好使用Terraform。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65036477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档