我想将本地文件推送到远程hadoop机器。有没有办法在python中做到这一点?感谢。
答案 0 :(得分:0)
使用hdfscli python模块。
一个简单的例子,对于安全性为OFF的HDFS环境,看起来像
from hdfs import InsecureClient
hdfsclient = InsecureClient('http://nn_host:port', user='superuser')
hdfsclient.upload(hdfspath, localpath)
根据安全实施使用TokenClient
或KerberosClient
。
注意:需要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票。