如何在Azure Databricks Notebook Run Now JSON中指定集群名称
核心限制说明
Databricks 作业配套的临时集群原生不支持在new_cluster配置块中传入cluster_name参数,平台强制要求作业临时集群的名称由系统自动生成,用来保证集群名称和作业ID、运行记录的绑定关系,避免命名冲突,这就是你收到报错的原因。
可行解决方案
方案1:通过自定义标签实现识别(最推荐)
你可以在new_cluster的custom_tags配置块中增加自定义标识字段,后续在集群列表、成本核算、API查询时都可以通过标签快速筛选识别对应集群,示例配置如下:"new_cluster": { "spark_version": "9.0.x-scala2.12", "node_type_id": "Standard_E8as_v4", "num_workers": "1", "custom_tags": { "Workload": "Job Run Api", "Cluster_Desc": "POC作业临时集群", "Business_Line": "数据研发" } }该配置完全合规,不会触发参数报错。
方案2:改用提前创建的常驻集群运行
如果你必须要集群名称直观可自定义,可以提前在Databricks中创建好指定名称的常驻集群,然后将作业配置中的new_cluster字段替换为existing_cluster_id,传入你提前创建的集群ID即可。该方案的缺点是集群常驻会持续产生计算费用,适合作业运行频率很高的场景。方案3:优化
run_name配置关联识别
你当前配置的run_name参数会和作业临时集群强绑定,你可以将run_name按业务规则动态生成(比如拼接时间戳、业务标识、执行参数等),后续在作业运行列表中通过run_name搜索,就能快速关联到对应的自动命名集群。
内容的提问来源于stack exchange,提问作者Junaid Khan
相关产品推荐
相关产品推荐

