spark中如果有中间结果(如抽样结果)需要存储,有两种方式,直接存为rdd,或者collect出来,再存储。
存储为rdd
rdd.saveAsPickleFile("hdfs://ip/rdd")
可直接使用。
存储为dataframe
import pickle
rdd_collect = rdd.collect()
f1 = open("/root/rdd_collect .json", 'wb')
pickle.dump(rdd_collect ,f1)
f1.close()
使用时将其引入,如下:
import pickle
f1 = open("/root/rdd_collect .json", 'rb')
rdd_collect = pickle.load(f1)
f1.close()