python-3.x - 如何用新的 fs.HadoopFileSystem 替换旧的遗留 hdfs 连接器?

标签 python-3.x hdfs pyarrow

当我尝试替换旧版 hdfs 连接器时

from pyarrow import hdfs
fs = hdfs.connect()

,与新的 fs 连接器配合得很好

from pyarrow import fs
client = fs.HadoopFileSystem(host="default")

我遇到了 python 内核崩溃的问题。 我做错了什么?

最佳答案

检查您的环境中是否设置了这三个参数。 在你的终端上检查这个

echo $HADOOP_HOME
echo $JAVA_HOME
echo $ARROW_LIBHDFS_DIR

如果没有,您可能需要在使用 pyarrow 之前设置您的环境。你可以在 python 上试试这个

import os
from pyarrow import fs
os.environ['HADOOP_HOME'] = <path to hadoop binaries>
os.environ['ARROW_LIBHDFS_DIR'] = '<path to libhdfs.so>'

fs.HadoopFileSystem("hdfs://namenode:8020?user=hdfsuser")
# fs.HadoopFileSystem("namenode") should work too

看到这个 - How do i set the path of libhdfs.so for pyarrow?

关于python-3.x - 如何用新的 fs.HadoopFileSystem 替换旧的遗留 hdfs 连接器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62520197/

相关文章:

python - 使用谓词过滤 pyarrow.parquet.ParquetDataset 中的行

python-3.x - 从 API 中提取数据时的等待屏幕

java - 如何定义自己的 map 并减少类(class)

python - while 循环中的 Spotipy 请求速度

java - JAR 不存在或不是普通文件

hadoop - Hadoop复制因子是3.存储多少数据?

pandas - 有没有办法强制 spark worker 使用分布式 numpy 版本而不是安装在他们身上的版本?

python - 从 S3 扫描 Parquet 并使用 Polars 加入时如何限制内存使用?

python - 多处理 AttributeError 模块对象没有属性 '__path__'

python - 如何在不按回车键的情况下输入内容