OSError:HDFS 连接失败(Python)
Posted
技术标签:
【中文标题】OSError:HDFS 连接失败(Python)【英文标题】:OSError: HDFS connection failed (Python) 【发布时间】:2022-01-17 15:15:12 【问题描述】:我想以 parquet 格式写入 hdfs。使用以下代码连接到 hdfs 时,我收到错误“OSError:HDFS 连接失败”。我不确定在建立此连接时是否正确获取了主机、端口和用户参数。如何在我的计算机上学习这些参数? (顺便说一句,我正在使用Linux)。如果您能提供帮助,我会很高兴。
import pyarrow as pa
import pandas as pd
impport pyarrow.parquet as pq
file = "source_path"
target = "target_path"
hdfs = pa.fs.HadoopFileSystem(host=host, port=port, user=user)
df = pd.read_csv(file)
table = pa.Table.from_pandas(df)
pq.write_table(table,target, filesystem=hdfs)
【问题讨论】:
【参考方案1】:首先,您需要查看您的 HDFS 配置文件 (core-site.xml)。 获取属性 fs.default.name 的值。
应该是这样的:
<property>
<name>fs.default.name</name>
<value>hdfs://hdfs-hostname:9000</value>
</property>
在您的代码中,将主机的值填充为等于没有端口的该属性, 以及要在“:”之后以数字归档的端口参数
hdfs = pa.fs.HadoopFileSystem(host="hdfs-hostname", port=9000)
hdfs = pa.hdfs.connect()
如果您的集群是 kerberoized,您可能需要在运行应用程序之前进行 kinit,pyarrow 会自动为您加载配置和 kerberos 票证。
【讨论】:
非常感谢。以上是关于OSError:HDFS 连接失败(Python)的主要内容,如果未能解决你的问题,请参考以下文章
Gunicorn 因 OSError 失败:[Errno 107] 传输端点未连接
python 创建虚拟环境时报错OSError, setuptools下载失败
加载 dll 时 Python CFFI 模块失败:OSError 0x7e
由于 scipy,sklearn 导入失败。 OSError: [WinError 126] 找不到指定的模块
Python随心记--python之错误:OSError: [WinError 10048]
Python 3.5 socket OSError: [Errno 101] Network is unreachable