我正在定义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。 –