14

有什么方法可以使用 WebHDFS REST API 从 HDFS 下载文件?我最接近的是使用打开操作来读取文件并保存内容。

curl -i -L "http://localhost:50075/webhdfs/v1/demofile.txt?op=OPEN" -o ~/demofile.txt

是否有任何API可以让我直接下载文件而无需打开它?我浏览了官方文档并尝试了谷歌,但找不到任何东西。有人可以指出我正确的方向或给我一些指示吗?

非常感谢您宝贵的时间。

4

1 回答 1

11

您可能可以为此使用 DataNode API(默认端口为 50075),它支持streamFile您可以利用的命令。使用wget它看起来像:

wget http://$datanode:50075/streamFile/demofile.txt -O ~/demofile.txt

请注意,此命令需要在数据节点本身上执行,而不是在名称节点上!

或者,如果您不知道要点击哪个数据节点,您可以询问 jobtracker,它会使用以下 URL 将您重定向到正确的数据节点:

http://$namenode:50070/data/demofile.txt
于 2013-05-31T22:22:10.517 回答