2017-07-26 145 views
2

我在包含我的Python(2.7)类的目录中的VM上。我正在尝试将我的类的一个实例浸入我的HDFS中的一个目录。如何使用Python pickle将文件转储到Hadoop HDFS目录?

我试图做的线沿线的东西:

import pickle 

my_obj = MyClass() # the class instance that I want to pickle 

with open('hdfs://domain.example.com/path/to/directory/') as hdfs_loc: 
    pickle.dump(my_obj, hdfs_loc) 

从我做了什么研究,我认为像snakebite也许能帮助......但没有任何人有更具体建议?

+0

蛇伤不写入HDFS。 https://github.com/spotify/snakebite/issues/227 –

回答

1

这里是一个解决办法,如果你是在一个Jupyter笔记本具有足够的权限运行:

import pickle 

my_obj = MyClass() # the class instance that I want to pickle 
local_filename = "pickle.p" 
hdfs_loc = "//domain.example.com/path/to/directory/" 
with open(local_filename, 'wb') as f: 
    pickle.dump(my_obj, f) 
!!hdfs dfs -copyFromLocal $local_filename $hdfs_loc 
+0

如何从python脚本将模型写入hdfs而不是jupyter笔记本? –

相关问题