2017-07-26 155 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筆記本? –

相關問題