我正在一个项目中,我需要通过REST API将目录从Hadoop群集之外的计算机上载到HDFS。基本上,我需要一个命令,我可以在其中通过终端(或Python脚本)使用REST API将目录发送到HDFS。
WebHDFS文档中指定的唯一方法是上载单个文件。这对我来说还不够,因为我需要通过REST API上传数千个文件。
谢谢!
这是针对使用单个节点作为NameNode和DataNode的HDFS,这是非常默认的配置。
答案 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