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 票证。
我想以 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 票证。