如何解决Databricks中的CONFIG_NOT_AVAILABLE错误?
解决Databricks FeatureEngineeringClient初始化报错问题
问题分析
报错[CONFIG_NOT_AVAILABLE] Configuration spark.mlflow.modelRegistryUri is not available的核心原因有两点:
- Databricks笔记本无需手动初始化SparkSession,平台已自动提供默认会话,手动构建会覆盖默认的MLflow相关配置
- 指定的Model Registry URI配置键和格式存在问题
修正方案
方案1:使用默认配置(推荐)
直接省略手动创建SparkSession的代码,使用平台提供的默认会话即可正常初始化FeatureEngineeringClient:
from databricks.feature_engineering import FeatureEngineeringClient # 直接初始化客户端,自动使用平台默认配置 fe = FeatureEngineeringClient()
方案2:自定义Model Registry到Volume(若有需求)
如果确实需要将Model Registry存储到指定Volume,应通过FeatureEngineeringClient的参数直接指定,而非修改SparkSession配置:
from databricks.feature_engineering import FeatureEngineeringClient # 正确指定Volume作为Model Registry存储位置 fe = FeatureEngineeringClient( mlflow_client_kwargs={ "registry_uri": "databricks:/Volumes/surgery_cat/default/surgery_volume" } )
关键说明
- Databricks笔记本会自动注入名为
spark的SparkSession实例,手动构建会话会破坏平台预设的MLflow、Unity Catalog等集成配置 spark.databricks.mlflow.modelRegistryUri并非公开支持的配置项,不要通过SparkSession配置该参数,如需自定义Model Registry存储,应通过MLflow客户端参数指定
内容的提问来源于stack exchange,提问作者Barry King
相关产品推荐
相关产品推荐

