将 pyarrow 与 libhdfs3 连接

connecting pyarrow with libhdfs3

我正在尝试通过 pyarrows 的 HdfsClient / hdfs.connect() 连接到 hadoop 集群。

我注意到 pyarrows 的 have_libhdfs3() 函数,returns 错误。

如何获得 pyarrow 所需的 hdfs 支持?我知道有一个用于 libhdfs3 的 conda 命令,但我非常需要通过一些 "vanilla" 不涉及 conda 之类的方式来使其工作。

如果它很重要,我有兴趣阅读的文件是镶木地板文件。

编辑:

hdfs3 库的创建者制作了一个允许安装 libhdfs3 的 repo:

http://hdfs3.readthedocs.io/en/latest/install.html

除了通过 conda-forge 或从源代码构建之外,我不知道有什么方法可以获得 libhdfs3。您将需要 conda install libhdfs3=2.2.31,因为有一个突破性的 API 更改使 libhdfs3 具有与我们尚未在 Arrow 中解决的 libhdfs 不同的 ABI。请参阅 https://issues.apache.org/jira/browse/ARROW-1445(欢迎补丁)

在 ubuntu 这对我有用 -

echo "deb https://dl.bintray.com/wangzw/deb trusty contrib" | sudo tee /etc/apt/sources.list.d/bintray-wangzw-deb.list
sudo apt-get install -y apt-transport-https
sudo apt-get update
sudo apt-get install libhdfs3 libhdfs3-dev

它应该可以在其他 Linux 发行版上使用适当的安装程序。 摘自:

http://hdfs3.readthedocs.io/en/latest/install.html