我有什么方法可以使用WebHDFS REST API从HDFS下载文件?我最接近的是使用open操作来读取文件并保存内容。
curl -i -L "http://localhost:50075/webhdfs/v1/demofile.txt?op=OPEN" -o ~/demofile.txt
是否有任何API可以让我直接下载文件而无需打开它?我通过了官方document并尝试了Google,但找不到任何内容。有人能指出我正确的方向还是给我一些指示?
非常感谢你宝贵的时间。
答案 0 :(得分:8)
您可以使用DataNode API(默认情况下在端口50075上),它支持您可以利用的streamFile
命令。使用wget
这看起来像:
wget http://$datanode:50075/streamFile/demofile.txt -O ~/demofile.txt
请注意,此命令需要在datanode本身上执行,而不是在namenode上执行!
或者,如果你不知道要点击哪个datanode,你可以询问jobtracker,它会使用这个URL将你重定向到正确的datanode:
http://$namenode:50070/data/demofile.txt