将 Parquet 转换为 CSV

Posted

技术标签:

【中文标题】将 Parquet 转换为 CSV【英文标题】:Convert Parquet to CSV 【发布时间】:2018-12-15 08:15:54 【问题描述】:

如何在没有 Spark 的情况下将 Parquet 从本地文件系统(例如 python、某些库等)转换为 CSV? (试图找到尽可能简单和简约的解决方案,因为需要自动化所有事情并且不需要太多资源)。

我试过用例如parquet-tools 在我的 Mac 上,但数据输出看起来不正确。

需要进行输出,以便当某些列中不存在数据时 - CSV 将具有相应的 NULL(2 个逗号之间的空列)..

谢谢。

【问题讨论】:

【参考方案1】:

您可以通过使用 Python 包 pandaspyarrow 来完成此操作(pyarrow 是此功能所需的 pandas 的可选依赖项)。

import pandas as pd
df = pd.read_parquet('filename.parquet')
df.to_csv('filename.csv')

当需要对文件中的内容进行修改时,可以对df进行标准的pandas操作。

【讨论】:

你是如何安装 pyarrow 的?试过例如pip3.7 install --no-cache pyarrow 最后出现错误Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/xy/b__x_l9n1kl9_llyngq1cvddqsd9bn/T/pip-install-3p7vvogb/pyarrow/ 开始在其中使用 Anaconda 和虚拟环境,这个问题就消失了.. pyarrow 还不能作为 Python 3.7 ***使用。我们将很快发布 0.10 版本(1-2 周),该版本还将提供 3.7 版本。 @UweL.Korn 这对我来说失败了。脚本以退出代码 -1 结束。这只发生在带有 Python 3.6 和 Python 3.7 的 Centos7 上。有 pandas==0.25.0,有什么建议吗? @Rob 是否有任何错误消息或有关该问题的上下文?

以上是关于将 Parquet 转换为 CSV的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Parquet 文件转换为 Delta 文件

将 Parquet 转换为 CSV

使用 Spark 将 csv.gz 文件转换为 Parquet

如何将 HDF5 文件转换为 Parquet 文件?

如何将 txt 文件转换为 parquet 文件并将其加载到 hdfs table-pyspark

如何在 Spark 2.1.0 中使用 SparkSQL 将“.txt”转换为“.parquet”?