python - 如何将目录上传到HDFS

标签 python rest hadoop hdfs webhdfs

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

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

提前致谢!

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

最佳答案

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

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

关于python - 如何将目录上传到HDFS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57045995/

相关文章:

python - 向 k 均值添加特征

python - 使用 Matplotlib 的半对数图中的纵横比

java - 无法在 IntelliJ 上运行 Jersey 项目

hadoop - Hadoop Streaming 的向后兼容性

hadoop - Spark 是否支持 With 子句?

hadoop - Hive:如何构建 UDTF?

python - "Least Astonishment"和可变默认参数

python - 使用 Google App Engine 和 Python 实现基于角色的安全性

WCF 3.5 在 IIS 中并行运行 SOAP 和 REST 服务

java - findAll() 在 SpringBoot Rest MySql CRUD 操作应用程序中不起作用