gpt4 book ai didi

python - 是否可以将文件保存在 Hadoop 中而不将它们保存在本地文件系统中?

转载 作者:可可西里 更新时间:2023-11-01 14:55:29 24 4
gpt4 key购买 nike

是否可以将文件保存在 Hadoop 中而不将它们保存在本地文件系统中?我想做如下所示的事情,但是我想直接在 HDFS 中保存文件。目前我将文件保存在文档目录中,然后我才能将它们保存在 HDFS 中,例如使用 hadoop fs -put

class DataUploadView(GenericAPIView):

def post(self, request):

myfile = request.FILES['photo']
fs = FileSystemStorage(location='documents/')
filename = fs.save(myfile.name, myfile)
local_path = 'my/path/documents/' + str(myfile.name)
hdfs_path = '/user/user1/' + str(myfile.name)
run(['hadoop', 'fs', '-put', local_path, hdfs_path], shell=True)

最佳答案

Hadoop 具有 REST API,允许您通过 WebHDFS 创建文件。

因此,您可以基于 REST API 使用 requests 等 python 库编写自己的 create 来执行 HTTP。但是,也有几个支持 Hadoop/HDFS 并且已经使用 REST API 或通过 libhdfs 使用 RPC 机制的 python 库。

  • pydoop
  • hadoopy
  • 蛇咬伤
  • pywebhdfs
  • hdfscli
  • pyarrow

只需确保您寻找如何创建文件而不是让 python 库调用 hdfs dfs -puthadoop fs -put

有关详细信息,请参阅以下内容:

关于python - 是否可以将文件保存在 Hadoop 中而不将它们保存在本地文件系统中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51546108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com