を使用してファイルをアップロードするために、HDFS REST API を呼び出しますhttplib
。
私のプログラムはファイルを作成しましたが、コンテンツはありません。
================================================== ===
これが私のコードです:
import httplib
conn=httplib.HTTPConnection("localhost:50070")
conn.request("PUT","/webhdfs/v1/levi/4?op=CREATE")
res=conn.getresponse()
print res.status,res.reason
conn.close()
conn=httplib.HTTPConnection("localhost:50075")
conn.connect()
conn.putrequest("PUT","/webhdfs/v1/levi/4?op=CREATE&user.name=levi")
conn.endheaders()
a_file=open("/home/levi/4","rb")
a_file.seek(0)
data=a_file.read()
conn.send(data)
res=conn.getresponse()
print res.status,res.reason
conn.close()
==================================================
戻り値は次のとおりです。
307 TEMPORARY_REDIRECT 201 作成済み
================================================== =======
OK、ファイルは作成されましたが、コンテンツは送信されませんでした。
にコメントする#conn.send(data)
と、結果は同じですが、まだコンテンツはありません。
ファイルの読み取りまたは送信が間違っている可能性がありますが、わかりません。
これがどのように起こったか知っていますか?