如何使用 Python 在 HDFS 中打开 parquet 文件?

Posted

技术标签:

【中文标题】如何使用 Python 在 HDFS 中打开 parquet 文件?【英文标题】:How to open a parquet file in HDFS with Python? 【发布时间】:2018-02-01 17:39:56 【问题描述】:

我正在寻找存储在 HDFS 中的 parquet 文件,我正在使用 Python 来执行此操作。我在下面有这段代码,但它没有打开 HDFS 中的文件。你能帮我改一下代码吗?

sc = spark.sparkContext

from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)

df = sqlContext.read.parquet('path-to-file/commentClusters.parquet')

另外,我也希望将 Dataframe 保存为 CSV 文件。

【问题讨论】:

【参考方案1】:

试一试

sqlContext.read.parquet("hdfs://<host:port>/path-to-file/commentClusters.parquet")

要查找主机和端口,只需搜索文件 core-site.xml 并查找 xml 元素 fs.defaultFS(例如 $HADOOP_HOME/etc/hadoop/core-site.xml)

为了简单,试试

sqlContext.read.parquet("hdfs:////path-to-file/commentClusters.parquet")

sqlContext.read.parquet("hdfs:/path-to-file/commentClusters.parquet")

转介Cannot Read a file from HDFS using Spark

要另存为 csv,请尝试

df_result.write.csv(path=res_path) # possible options: header=True, compression='gzip'

【讨论】:

以上是关于如何使用 Python 在 HDFS 中打开 parquet 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何清洗存储在hadoop(HDFS)中的原始数据

python+playwright 学习-37.如何在已经打开的浏览器上继续操作,绕过登录验证码

在浏览器中打开 HDFS 文件

OSError:HDFS 连接失败(Python)

至少一个文件系统不支持 ACL:Distcp HDFS

如何查看 hdfs 目录并将到达 hdfs 的最新文件复制到本地?