pyspark读取hdfs 二进制文件 pickle 模型文件 model

pyspark读取hdfs 二进制文件 pickle 模型文件 model

 

我们在python环境训练的机器学习、深度学习模型二进制文件,比如pickle

如果需要提交到spark-submit上,需要先把文件上传到hdfs目录下,然后读取

 

hadoop fs -put 模型文件  hdfs目录

hadoop fs -put /opt/tmp/model_phone.pkl /home/你的用户名/env/

 

from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("My test App")
sc = SparkContext(conf=conf)
 
"""
lines = sc.textFile("/tmp/tmp.txt")
print lines.count()
print lines.first()
"""   
     
def load_model(sc, model_filename):
        rdd = sc.binaryFiles("/tmp/test.pkl")--你的hdfs目录
        import pickle
        from io import BytesIO
        data_arr = rdd.values().map(lambda p: pickle.load(BytesIO(p))).collect()
        print(data_arr)
 
 
load_model(sc, None)

model =
load_model(sc, None)[0]

参考:https://www.cnblogs.com/bonelee/p/11172280.html

posted @ 2022-05-09 13:29  cup_leo  阅读(1002)  评论(0编辑  收藏  举报