我试图自动化创建蓝色数据库的过程与集群,笔记本和作业,并运行笔记本,通过地形。我所拥有的代码创建了上述资源。但我无法通过地形运行笔记本或作业。
provider "databricks" {
azure_workspace_resource_id = azurerm_databricks_workspace.example.id
}
resource "azurerm_resource_group" "example" {
name = "example-resources"
location = "West Europe"
}
resource "azurerm_databricks_workspace" "example" {
name = "databricks-test"
resource_group_name = azurerm_resource_group.example.name
location = azurerm_resource_group.example.location
sku = "standard"
}
resource "databricks_cluster" "shared_autoscaling" {
cluster_name = "Autoscaling-Cluster"
spark_version = "10.5.x-scala2.12"
node_type_id = "Standard_DS3_v2"
autotermination_minutes = 15
autoscale {
min_workers = 1
max_workers = 3
}
library {
maven {
coordinates = "com.microsoft.azure:azure-eventhubs-spark_2.12:2.3.18"
}
}
library {
maven {
coordinates = "com.microsoft.azure:azure-event-hubs-reactive_2.12:0.1.0"
}
}
}
resource "databricks_notebook" "notebook" {
path = "/IOT_notebook"
language = "PYTHON"
format = "SOURCE"
source = "./IOT_notebook.dbc"
}
resource "databricks_job" "myjob5" {
name = "Featurization2"
timeout_seconds = 3600
max_retries = 1
max_concurrent_runs = 1
existing_cluster_id = databricks_cluster.shared_autoscaling.id
notebook_task {
notebook_path = databricks_notebook.notebook.path
//base_parameters = var.resource_group_name
}
}我无法找到任何与运行笔记本或工作相关的代码,无论是在terraform还是powershell中。我想知道是否可以通过一个脚本来完成它。如有任何建议,将不胜感激。
发布于 2022-08-21 09:21:19
触发作业不是Terraform的责任-它注意创建了所有对象&它们的状态与声明的状态相匹配,但触发是一种活动,而不是最终状态。因此,虽然从技术上讲,您可以使用本地资源+(例如,curl )从terraform触发作业,但最好使用其他东西来实际触发该作业。
可以使用Terraform返回的作业ID以多种方式触发作业:
curl的东西databricks jobs run-now --job-id <job-id>Start-DatabricksJob函数。https://stackoverflow.com/questions/73427528
复制相似问题