Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ansible/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于Azure Databricks作业的DevOps_Azure_Azure Devops_Azure Databricks - Fatal编程技术网

用于Azure Databricks作业的DevOps

用于Azure Databricks作业的DevOps,azure,azure-devops,azure-databricks,Azure,Azure Devops,Azure Databricks,我正在尝试在Azure Databricks上实现DevOps 我已经完成了针对databricks笔记本和dbfs文件的devops实现 我确实有许多databricks作业在我的集群上按计划运行。 其中一些作业指向笔记本文件,很少指向dbfs位置中的jar文件 是否有任何方法可以在azure databricks作业上实现devops流程,以便DEV中任何作业中的任何更改都将调用构建管道并在PROD databricks实例中部署相同的流程 首先,我想知道是否有可能在azure databr

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

我已经完成了针对databricks笔记本和dbfs文件的devops实现

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

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

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


任何线索感谢

为了有效地做到这一点,我建议使用它-在这种情况下,可以将存储在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 {}
}
从理论上讲,您可以执行一些定期任务,从原始环境中提取作业定义,检查作业定义是否已更改,并将更改应用到另一个环境。您甚至可以通过跟踪作业定义的更改,并将其用作触发器


但所有这些都只是黑客行为——最好使用Terraform。

您的作业是以笔记本、jar或python文件的形式实现的?它们大多数使用笔记本文件,但很少使用jar文件