将 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 包 pandas
和 pyarrow
来完成此操作(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的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spark 将 csv.gz 文件转换为 Parquet