【发布时间】:2021-03-26 06:06:21
【问题描述】:
我看到有 hdfs3、snakebite 和其他一些。哪一个是最受支持和最全面的?
【问题讨论】:
-
截至 2019 年,pypi 上
snakebite的最后更新版本是 2016 年 8 月 8 日。
标签: python-3.x hdfs python-hdfs
我看到有 hdfs3、snakebite 和其他一些。哪一个是最受支持和最全面的?
【问题讨论】:
snakebite 的最后更新版本是 2016 年 8 月 8 日。
标签: python-3.x hdfs python-hdfs
据我所知,可能性并不像人们想象的那么多。但我建议使用官方 Python 包 hdfs 2.0.12,可以从 website 下载或通过运行从终端下载:
pip install hdfs
一些特点:
【讨论】:
我尝试过蛇咬、hdfs3 和 hdfs。
Snakebite 只支持下载(不支持上传),所以不适合我。
在这 3 个中,只有 hdfs3 支持 HA 设置,所以这是我的选择,但是我没有设法使用 datanode 主机名使其与 multihomed networks 一起工作(此处描述的问题:https://rainerpeter.wordpress.com/2014/02/12/connect-to-hdfs-running-in-ec2-using-public-ip-addresses/)
所以我最终使用了 hdfs (2.0.16),因为它支持上传。我不得不使用 bash 添加一些解决方法来支持 HA。
附言。 http://wesmckinney.com/blog/python-hdfs-interfaces/ 有一篇有趣的文章比较了为与 Hadoop 文件系统交互而开发的 Python 库
【讨论】:
pyarrow,apache arrow 的 python 实现有一个维护良好并记录在案的 HDFS 客户端:https://arrow.apache.org/docs/python/filesystems.html
【讨论】:
有pydoop,挺方便的。
【讨论】:
我发现 pyhdfs-client 非常适合大文件。 (使用 webhdfs 需要 1 小时的文件在 18 分钟内加载完毕)。
pip install pyhdfs-client
唯一的缺点是,它是新的,与其他 hdfs 客户端相比,它的界面并不干净。缺少文档,但您可以在此处查看用法:https://pypi.org/project/pyhdfs-client/
【讨论】: