Dataiku Notebook中保存PySpark Pipeline模型失败求助
问题
在Dataiku Notebook中训练好PySpark Pipeline模型后,执行model.save('/opt/dataiku/design/managed_folders/PROJECT_TEST/9KeBcUKy/ML_SAVED_V23')保存到Dataiku托管目录时触发Py4JJavaError,根源是无法创建临时目录。已验证该路径可通过pickle写入Python DataFrame,但PySpark模型保存失败,更换路径后问题依旧。
相关代码
model = Pipeline(stages=[ RegexTokenizer(pattern="", inputCol="word", outputCol="char" ,minTokenLength=1), NGram(n=3, inputCol="char", outputCol="ngram"), HashingTF(inputCol="ngram", outputCol="vector"), IDF(inputCol="vector", outputCol="idf"), MinHashLSH(inputCol="idf", outputCol="lsh", numHashTables=3) ]).fit(df_2) df_2_transf = model.transform(df_2) model.save('/opt/dataiku/design/managed_folders/PROJECT_TEST/9KeBcUKy/ML_SAVED_V23')
核心报错栈
Py4JJavaError: An error occurred while calling o834.save. : org.apache.spark.SparkException: Job aborted. ... Caused by: java.io.IOException: Mkdirs failed to create file:/opt/dataiku/design/managed_folders/PROJECT_TEST/9KeBcUKy/ML_SAVED_V22/metadata/_temporary/0/_temporary/attempt_202212201117187198772930005281723_0027_m_000000_3 (exists=false, cwd=file:/home/dataiku) ...
解决方案
1. 使用Dataiku托管文件夹的HDFS兼容路径
分布式Spark环境下,不能直接使用本地文件系统路径访问Dataiku托管文件夹,需通过Dataiku API获取正确的HDFS协议路径:
import dataiku from dataiku import managed_folder # 获取托管文件夹对象 folder = managed_folder.ManagedFolder("9KeBcUKy") # 获取适配Spark的HDFS路径 hdfs_path = folder.get_path() # 保存模型到托管文件夹 model.save(f"{hdfs_path}/ML_SAVED_V23")
2. 配置Spark临时目录权限
Spark保存模型时会自动创建临时目录,若Executor节点无权限访问默认临时路径,需在Dataiku的Spark集群配置中指定有权限的临时目录:
spark.local.dir=/tmp/spark-tmp spark.hadoop.tmp.dir=/tmp/hadoop-tmp
确保所有Executor节点的上述目录对Spark执行用户开放读写权限。
3. 确认执行权限
- 检查Dataiku项目权限,确保Notebook执行用户对目标托管文件夹拥有读写权限;
- 若为分布式集群,确认Executor进程的运行用户能跨节点访问目标路径,可联系运维同步节点间目录权限。
4. 用Dataiku原生模型管理替代Spark原生保存
利用Dataiku内置模型注册表,自动处理路径、权限和兼容性问题:
import dataiku from dataiku.core.model import Model # 创建Dataiku模型对象 dk_model = Model("my_spark_pipeline", project_key="PROJECT_TEST") # 保存PySpark模型 dk_model.save(model, flavor="spark")
这种方式还能直接在Dataiku平台内完成模型加载、版本管理和后续部署。
内容的提问来源于stack exchange,提问作者Hardy Smile
相关产品推荐
相关产品推荐

