OSError: HDFS connection failed (Python)

OSError: HDFS connection failed (Python)

我想以 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)

首先,您需要查看您的 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 票证。