我正在定義bottle
api,我需要從客戶端接受文件,然後將該文件保存到本地系統上的HDFS。如何將傳入的文件保存在api中hdfs
代碼看起來像這樣。
@route('/upload', method='POST')
def do_upload():
import pdb; pdb.set_trace()
upload = request.files.upload
name, ext = os.path.splitext(upload.filename)
save_path = "/data/{user}/{filename}".format(user=USER, filename=name)
hadoopy.writetb(save_path, upload.file.read())
return "File successfully saved to '{0}'.".format(save_path)
的問題是,所述request.files.upload.file
是cStringIO.StringO
類型可被轉化爲str
與.read()
方法的對象。但hadoopy.writetb(path, content)
預計內容是其他格式,服務器堅持在這一點上。它不會例外,它不會給出錯誤或任何結果。就像它在無限循環中一樣站在那裏。
有誰知道如何將輸入文件寫入HDFS的瓶子API?
那麼,你是否改寫了WebHDFS,基本上? –
不,我只想寫瓶apis,其中之一是文件上傳和讀取和HDFS。 –