Python3 与 HDFS 交互的最佳模块是什么?
What's the best module for interacting with HDFS with Python3?
我看到有 hdfs3、snakebite 和其他一些。哪一个支持最好、最全面?
据我所知,可能性并没有想象的那么多。但我建议官方 Python 包 hdfs 2.0.12
可以从 website 下载或通过 运行:
从终端下载
pip install hdfs
部分功能:
- Python WebHDFS(和 HttpFS)的(2 和 3)绑定 API,
支持安全和不安全的集群。
- 命令行界面
传输文件并启动交互式客户端 shell,使用别名
为了方便 namenode URL 缓存。
- 附加功能通过
可选扩展:avro,直接从中读取和写入 Avro 文件
高清文件系统。数据帧,加载和保存 Pandas 数据帧。 kerberos,到
支持 Kerberos 认证集群。
我试过 snakebite、hdfs3 和 hdfs。
Snakebite 只支持下载(不支持上传)所以我不适合。
在这 3 个中,只有 hdfs3 支持 HA 设置,所以这是我的选择,但是我没能让它与 multihomed networks using datanode hostnames (problem described here: https://rainerpeter.wordpress.com/2014/02/12/connect-to-hdfs-running-in-ec2-using-public-ip-addresses/)
一起工作
所以我最终使用了 hdfs (2.0.16),因为它支持上传。我不得不使用 bash 添加一些解决方法来支持 HA。
上有一篇有趣的文章比较 Python 为与 Hadoop 文件系统交互而开发的库
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/
我看到有 hdfs3、snakebite 和其他一些。哪一个支持最好、最全面?
据我所知,可能性并没有想象的那么多。但我建议官方 Python 包 hdfs 2.0.12
可以从 website 下载或通过 运行:
pip install hdfs
部分功能:
- Python WebHDFS(和 HttpFS)的(2 和 3)绑定 API, 支持安全和不安全的集群。
- 命令行界面 传输文件并启动交互式客户端 shell,使用别名 为了方便 namenode URL 缓存。
- 附加功能通过 可选扩展:avro,直接从中读取和写入 Avro 文件 高清文件系统。数据帧,加载和保存 Pandas 数据帧。 kerberos,到 支持 Kerberos 认证集群。
我试过 snakebite、hdfs3 和 hdfs。
Snakebite 只支持下载(不支持上传)所以我不适合。
在这 3 个中,只有 hdfs3 支持 HA 设置,所以这是我的选择,但是我没能让它与 multihomed networks using datanode hostnames (problem described here: https://rainerpeter.wordpress.com/2014/02/12/connect-to-hdfs-running-in-ec2-using-public-ip-addresses/)
一起工作所以我最终使用了 hdfs (2.0.16),因为它支持上传。我不得不使用 bash 添加一些解决方法来支持 HA。
上有一篇有趣的文章比较 Python 为与 Hadoop 文件系统交互而开发的库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/