使用python将数据推送到远程hdfs的最佳方法是什么

时间:2017-03-20 15:38:30

标签: python hadoop hdfs

我想将本地文件推送到远程hadoop机器。有没有办法在python中做到这一点?感谢。

3 个答案:

答案 0 :(得分:0)

使用hdfscli python模块。

一个简单的例子,对于安全性为OFF的HDFS环境,看起来像

from hdfs import InsecureClient

hdfsclient = InsecureClient('http://nn_host:port', user='superuser')
hdfsclient.upload(hdfspath, localpath)

根据安全实施使用TokenClientKerberosClient

注意:需要WebHDFS(默认情况下已启用)

答案 1 :(得分:0)

import subprocess

hdfs_cmd = "hadoop fs -put local_file_path hdfs_file_path"

subprocess.call(hdfs_cmd, shell=True)

答案 2 :(得分:0)

当连接到hdfsclient时它工作正常,并且与IP地址和端口连接,但是,当我尝试写入/上传时,它说“#34;错误:hdfs.util.HdfsError:身份验证失败。检查您的凭据。"每当我使用UnsecureClient时,我总是会收到此错误。 PS:我正在使用kerberos票。