如何将目录上传到HDFS

时间:2019-07-15 19:22:09

标签: python rest hadoop hdfs webhdfs

我正在一个项目中,我需要通过REST API将目录从Hadoop群集之外的计算机上载到HDFS。基本上,我需要一个命令,我可以在其中通过终端(或Python脚本)使用REST API将目录发送到HDFS。

WebHDFS文档中指定的唯一方法是上载单个文件。这对我来说还不够,因为我需要通过REST API上传数千个文件。

谢谢!

这是针对使用单个节点作为NameNode和DataNode的HDFS,这是非常默认的配置。

1 个答案:

答案 0 :(得分:0)

您可以先尝试创建一个空目录:

curl -i -s --user your_username:your_password --max-time 45 -X PUT https://XXXXX:8443/gateway/default/webhdfs/v1/user/path_to_directory?op=MKDIRS

然后您可以上传文件:

curl -i -L -s --user your_username:your_password --max-time 45 -X PUT -T file_name.txt \ https://XXXXX:8443/gateway/default/webhdfs/v1/user/path_to_director/path_to_file/file_name?op=CREATE

参考:https://cloud.ibm.com/docs/services/AnalyticsEngine?topic=AnalyticsEngine-upload-files-hdfs