操作系统错误:HDFS连接失败(Python)

zbsbpyhn  于 2022-12-09  发布在  HDFS
关注(0)|答案(1)|浏览(495)

我想以parquet格式写入hdfs。当用下面的代码连接到hdfs时,我得到错误“OSError:HDFS connection failed”。我不确定在进行此连接时主机、端口和用户参数是否正确。如何在我的计算机上了解这些参数?(顺便说一下,我使用的是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)
sh7euo9m

sh7euo9m1#

首先,您需要查看HDFS配置文件(core-site.xml),获取属性fs.default.name的值。
应该是这样的:

<property>
  <name>fs.default.name</name>
  <value>hdfs://hdfs-hostname:9000</value>
</property>

在您的代码中,填写host的值,使其等于不带端口的属性,并填写端口参数,使其在“:“后带有数字

hdfs = pa.fs.HadoopFileSystem(host="hdfs-hostname", port=9000)
hdfs = pa.hdfs.connect()

如果您的集群是Kerberos化的,您可能需要在运行应用程序之前进行kinit,pyarrow将自动为您加载配置和Kerberos票证。

相关问题