主管道调用子管道时如何在集群池启用Unity Catalog并解决验证错误?
主管道调用子管道时集群池Unity Catalog启用失败的解决办法
问题根源
主管道调用子管道时,要么是上下文参数覆盖了链接服务的配置,要么是ADF内部的旧模式兼容逻辑触发,导致data_security_mode被自动切换为LEGACY_SINGLE_USER,和集群池策略里要求的SINGLE_USER不匹配,从而触发验证错误。
具体解决步骤
- 检查主管道的参数传递
看看主管道调用子管道时,有没有传过和集群配置相关的自定义参数,尤其是涉及data_security_mode的。要是有,直接删掉或者改成SINGLE_USER;同时确认子管道的笔记本活动没从主管道继承到会覆盖安全模式的参数。 - 显式设置链接服务的安全模式
打开ADF里的LS_DB_UC链接服务,在集群配置部分手动把「数据安全模式」设为SINGLE_USER——哪怕策略已经固定了这个值,手动显式设置能避免上下文切换时的模式跑偏,保存后再测主管道调用。 - 核实集群池的策略配置
登录Azure Databricks,去集群池的策略设置里确认data_security_mode确实是SINGLE_USER,没有隐藏配置搞鬼。可以临时把策略里的hidden改成false,确认集群实例化时模式正确,之后再改回hidden: true。 - 排查主管道的运行上下文
如果主管道是用触发器启动的,检查触发器有没有加特殊参数或环境变量,导致ADF用了旧的集群模式。也可以手动触发主管道,排除触发器的问题。 - 重建子管道调用活动
删掉主管道里调用child_pipeline的活动,重新添加并配置,确保新的调用活动正确继承子管道的链接服务配置,不会带上旧的缓存配置。
内容的提问来源于stack exchange,提问作者aiman
相关产品推荐
相关产品推荐

