如何将H2O Sparkling Water模型保存至磁盘并重新加载?
H2O DRF模型在PySpark中的保存与加载实现
完整代码示例
先完成模型训练,再执行保存与加载操作:
from pysparkling.ml import H2ODRF # 初始化DRF模型(你的原有代码) predictors = ["col1", "col2", "col3"] # 替换为你的实际特征列名 response = "label_col" # 替换为你的实际标签列名 drf = H2ODRF(featuresCols = predictors, labelCol = response, columnsToCategorical = [response]) # 训练模型 trained_drf = drf.fit(training_data) # training_data为你的训练数据集 # 保存模型到磁盘 model_save_path = "/your/local/path/drf_model" # 也支持分布式路径如hdfs:///path/to/model trained_drf.save(model_save_path) # 加载已保存的模型 loaded_drf = H2ODRF.load(model_save_path) # 加载后直接用于预测 predictions = loaded_drf.transform(test_data)
关键注意事项
- 保存路径支持本地文件系统或分布式文件系统(如HDFS、S3),根据运行环境选择对应格式
- 如果目标保存路径已存在,
save()会抛出异常,可提前用Spark文件系统API删除原有路径:from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() fs = spark._jvm.org.apache.hadoop.fs.FileSystem.get(spark._jsc.hadoopConfiguration()) target_path = spark._jvm.org.apache.hadoop.fs.Path(model_save_path) if fs.exists(target_path): fs.delete(target_path, True) - 加载后的模型与训练完成的模型功能完全一致,可直接调用
transform()执行预测
内容的提问来源于stack exchange,提问作者Mahdi
相关产品推荐
相关产品推荐

