我想以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)
1条答案
按热度按时间sh7euo9m1#
首先,您需要查看HDFS配置文件(core-site.xml),获取属性fs.default.name的值。
应该是这样的:
在您的代码中,填写host的值,使其等于不带端口的属性,并填写端口参数,使其在“:“后带有数字
如果您的集群是Kerberos化的,您可能需要在运行应用程序之前进行kinit,pyarrow将自动为您加载配置和Kerberos票证。