如何使用 Python pickle 将文件转储到 Hadoop HDFS 目录?

J. *_*eed 5 python hadoop hdfs

我位于包含我的 Python (2.7) 类的目录中的虚拟机上。我正在尝试将类的实例pickle 到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)
Run Code Online (Sandbox Code Playgroud)

根据我所做的研究,我认为像蛇咬伤这样的东西可能会有所帮助......但是有人有更具体的建议吗?

Pou*_*efi 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
Run Code Online (Sandbox Code Playgroud)