如何在python中使用pyarrow连接到hdfs
我已经安装了如何在python中使用pyarrow连接到hdfs,python,hadoop,hdfs,pyarrow,Python,Hadoop,Hdfs,Pyarrow,我已经安装了pyarrow,希望连接到Hadoop集群中的hdfs文件。我有下面一行,它给我错误 fs = pa.hdfs.connect(host='...', 50057, user='...', kerb_ticket='/tmp/krb5cc_0') 这是我收到的错误信息 ArrowIOError: Unable to load libhdfs 如何安装libhdfs?我还需要做哪些其他依赖项/设置 pyarrow.hdfs.connect(host='default', port
pyarrow
,希望连接到Hadoop集群中的hdfs文件。我有下面一行,它给我错误
fs = pa.hdfs.connect(host='...', 50057, user='...', kerb_ticket='/tmp/krb5cc_0')
这是我收到的错误信息
ArrowIOError: Unable to load libhdfs
如何安装libhdfs
?我还需要做哪些其他依赖项/设置
pyarrow.hdfs.connect(host='default', port=0, user=None, kerb_ticket=None, driver='libhdfs', extra_conf=None)
您必须确保libhdfs.so
位于$HADOOP\u HOME/lib/native
以及$ARROW\u libhdfs\u DIR
中
对于HADOOP
:
bash-3.2$ ls $ARROW_LIBHDFS_DIR
examples libhadoop.so.1.0.0 libhdfs.a libnativetask.a
libhadoop.a libhadooppipes.a libhdfs.so libnativetask.so
libhadoop.so libhadooputils.a libhdfs.so.0.0.0 libnativetask.so.1.0.0
据我所知,最后一个版本是Hadoop 3.2.0
您可以使用DistributedCache加载任何本机共享库,以分发和符号链接库文件
此示例演示如何分发共享库mylib.so,并从MapReduce任务加载它
bin/hadoop fs-copyFromLocal mylib.so.1/libraries/mylib.so.1
System.loadLibrary(“mylib.so”)代码>
注意:如果您下载或构建了本机hadoop库,则无需使用DistributedCache使该库可用于MapReduce任务。因此,我没有在运行python的机器上安装任何hadoop组件。我需要安装的hadoop库的最小集合是什么?bash-3.2$ls$ARROW_LIBHDFS_DIR示例libhadoop.so.1.0 LIBHDFS.a libnativetask.a libhadoop.a libhadoop.a libhadooppipes.a LIBHDFS.so libnativetask.so libhadoop.so libhadooputils.a LIBHDFS.so.0.0 libnativetask.so.1.0将hadoop客户端jar文件复制到我的机器上就足够了吗?你的意思是完整版本hadoop安装只是为了访问hdfs?请记住,我正在尝试使用客户端访问hadoop集群,我需要知道客户端上需要安装哪些依赖项