You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity Catalog集群无法运行PipelineModel加载函数问题排查

Unity Catalog集群加载PipelineModel失败问题解析

问题

在Unity Catalog集群中无法运行PipelineModel加载函数。

错误信息

[JVM_ATTRIBUTE_NOT_SUPPORTED] Spark Connect不支持依赖JVM的sparkContext属性,若需使用该属性,请创建常规Spark Session。

原因分析

Databricks包含两种Spark Session类型:

  • pyspark.sql.connect.session.SparkSession:启用Spark Connect的Unity Catalog集群默认使用该类型,采用客户端-服务器架构
  • pyspark.sql.session.SparkSession:标准集群使用的传统单体式Spark Session

标准集群中,从挂载点加载模型文件的代码(如下)可正常运行:

from pyspark.sql import SparkSession
#from pyspark.ml.pipeline import PipelineModel
from pyspark.ml.classification import RandomForestClassificationModel
from datetime import datetime
from pyspark.ml import PipelineModel
# 示例加载逻辑
# model = PipelineModel.load("/path/to/model")

但Unity Catalog集群使用Spark Connect创建的会话时,上述代码会触发错误——因为Spark Connect架构下无法直接访问依赖JVM的sparkContext属性,而PipelineModel的加载逻辑依赖该属性。

可行解决方案

  • 切换至非Spark Connect的Unity Catalog集群:创建集群时关闭Spark Connect选项,使用传统的pyspark.sql.session.SparkSession,即可正常加载PipelineModel。
  • 使用Databricks Model Registry管理模型:将模型注册到Model Registry后,通过mlflow.pyfunc.load_model或Databricks适配Spark Connect的模型加载API完成加载。
  • 在集群侧执行加载逻辑:通过Databricks作业或笔记本的集群会话运行模型加载代码,避免在Spark Connect客户端会话中执行依赖JVM的操作。

内容的提问来源于stack exchange,提问作者Sudhansu Dash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:14:56