如何使用python将模型存储到hdfs

vwoqyblh  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(444)

我正在尝试使用python将我的模型存储到hdfs。
这段代码是用pydoop库编写的

import pydoop.hdfs as hdfs

    from_path = prediction_model.fit(orginal_telecom_80p_train[features], orginal_telecom_80p_train["Churn"])
    to_path ='hdfs://192.168.1.101:8020/user/volumata/python_models/churn_model.sav'
    hdfs.put(from_path, to_path)

但是,在使用这个的时候,我得到了这个错误
attributeerror:“logisticregression”对象没有“startswith”属性
然后我尝试使用pickle选项

import pickle 
with open('hdfs://192.168.1.101:8020/user/volumata/python_models/') as hdfs_loc:
pickle.dump(prediction_model, hdfs_loc)

pickle选项在本地运行良好,当我尝试在hdfs中存储模型时,这个选项对我也不起作用。有人能建议如何进一步使用python脚本将模型存储到hdfs吗?

8yparm6h

8yparm6h1#

你必须使用 hdfs.open 而不是 open ,然后打开要写入的文件:

import pickle
import pydoop.hdfs as hdfs

with hdfs.open(to_path, 'w') as f:
    pickle.dump(prediction_model, f)

相关问题