2013-05-31 21 views
6

WebHDFS REST APIを使用してHDFSからファイルをダウンロードする方法はありますか?最も近いのは、ファイルを読み込んで内容を保存するためにオープン操作を使用することです。WebHDFS REST APIを使用してHDFSファイルをダウンロードする方法はありますか?

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

私はそれを開くことなくファイルを直接ダウンロードすることができます任意のAPIはありますか?私は、公式documentを経て、同様にグーグルを試してみましたが、何かを見つけることができませんでした。誰かが正しい方向に私を指すか、私にいくつかのポインタを提供することができますか?

貴重な時間をいただきありがとうございます。

+0

?あなたはそれをローカルでダウンロードしたい場合は、いつでもそのファイルを読む必要があります。 –

+0

ご返信ありがとうございます。私はファイルをそのままダウンロードして、現時点では自分のローカルFS上のディレクトリに保存したいだけです。この時点でファイルを読むことは私の意図ではありません。また、上記の方法に従えば、ヘッダーも含めたファイルになります。 "HTTP/1.1 200 OK Content-Type:application/octet-stream Content-Length:218 サーバー:Jetty(6.1。 26) " – Tariq

+0

webHDFS APIはプログラム的に使用するため、OPENを使用するのと同じくらい近いですが、ファイルを作成するにはまだコードが必要です。 –

答えて

6

これはDataNode APIを使用している可能性があります(デフォルトではポート50075にあります)。利用できるコマンドはstreamFileです。このコマンドはない名前ノード上で、データノード自体で実行する必要があることを

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

注:wgetこれを使用すると、次のようになります!

また、あなたがjobtrackerを求めることができるヒットするデータノードいるかわからない、それはこのURLで右データノードにリダイレクトされます場合:あなたが記述しているアプローチと間違っている何

http://$namenode:50070/data/demofile.txt 
+0

ご返信ありがとうございます。私はこれを一度試してみましたが、それは私に "ERROR 500:File does not exist:/。"を与えていました。 – Tariq

+0

実行したコマンドを表示できますか? –

+0

wget http:// localhost:50075/streamFile?filename =/demofile.txt -O〜/ demofile.txt – Tariq

関連する問題