无法加载 libhdfs

2024-01-28

尝试使用 pyarrow 访问 hdfs 文件但无法使其工作,下面是代码,非常感谢您。

[rxie@cedgedev03 code]$ python
Python 2.7.12 |Anaconda 4.2.0 (64-bit)| (default, Jul 2 2016, 17:42:40)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org

import pyarrow
import os
os.environ["JAVA_HOME"]="/usr/java/jdk1.8.0_121"
from pyarrow import hdfs
fs = hdfs.connect()

回溯(最近一次调用最后一次):文件“”,第 1 行,在文件中 “/opt/cloudera/parcels/Anaconda/lib/python2.7/site-packages/pyarrow/hdfs.py”, 第 183 行,在连接 extra_conf=extra_conf) 文件中 “/opt/cloudera/parcels/Anaconda/lib/python2.7/site-packages/pyarrow/hdfs.py”, 第 37 行,在 init self._connect(主机、端口、用户、kerb_ticket、驱动程序、 extra_conf)文件“pyarrow/io-hdfs.pxi”,第 89 行,位于 pyarrow.lib.HadoopFileSystem._connect 文件“pyarrow/error.pxi”,行 83、在pyarrow.lib.check_status中pyarrow.lib.ArrowIOError:无法 加载libhdfs


您可能需要手动找到该文件并使用ARROW_LIBHDFS_DIR环境变量。

使用查找文件locate -l 1 libhdfs.so。就我而言,该文件位于/opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib.

然后,使用环境变量重新启动 Python REPLARROW_LIBHDFS_DIR设置为该路径。就我而言,我的命令如下所示:

ARROW_LIBHDFS_DIR=/opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib python

这应该可以解决这个特殊问题。

(灵感来自https://gist.github.com/priancho/357022fbe63fae8b097a563e43dd885b https://gist.github.com/priancho/357022fbe63fae8b097a563e43dd885b)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法加载 libhdfs 的相关文章

随机推荐