如何在Windows中查看Apache Parquet文件?什么是Apache Parquet?

2022-08-31 20:46:27

我找不到任何关于Apache Parquet文件的简单英语解释。如:

  1. 它们是什么?
  2. 我是否需要Hadoop或HDFS来查看/创建/存储它们?
  3. 如何创建镶木地板文件?
  4. 如何查看镶木地板文件?

任何有关这些问题的帮助都是值得赞赏的。


答案 1

什么是Apache Parquet?

Apache Parquet是一种二进制文件格式,以列式方式存储数据。Parquet 文件中的数据类似于 RDBMS 样式表,其中有列和行。但是,您通常不是一次访问一行数据,而是一次访问一列数据。

Apache Parquet是现代大数据存储格式之一。它有几个优点,其中一些是:

  • 列式存储:高效的数据检索、高效压缩等
  • 元数据位于文件的末尾:允许从数据流生成 Parquet 文件。(常见于大数据场景)
  • 支持所有 Apache 大数据产品

我需要Hadoop或HDFS吗?

不。Parquet文件可以存储在任何文件系统中,而不仅仅是HDFS。如上所述,它是一种文件格式。因此,它就像任何其他具有名称和.parquet扩展名的文件一样。然而,在大数据环境中通常会发生的情况是,一个数据集将被拆分(或分区)成多个镶木地板文件,以提高效率。

默认情况下,所有Apache大数据产品都支持Parquet文件。这就是为什么它似乎只能存在于Apache生态系统中。

如何创建/读取镶木地板文件?

如前所述,目前所有Apache大数据产品,如Hadoop,Hive,Spark等,默认支持Parquet文件。

因此,可以利用这些系统来生成或读取 Parquet 数据。但这远非实际。想象一下,为了读取或创建CSV文件,您必须安装Hadoop / HDFS + Hive并配置它们。幸运的是,还有其他解决方案。

要创建您自己的 Parquet 文件:

要查看镶木地板文件内容:

还有其他方法吗?

可能。但是存在的数量并不多,而且它们大多没有得到很好的记录。这是因为 Parquet 是一种非常复杂的文件格式(我甚至找不到正式的定义)。我列出的那些是我写这篇回复时唯一知道的那些


答案 2

现在可以通过Apache Arrow实现这一点,这有助于简化不同数据格式之间的通信/传输,请参阅我的答案,或者在Python的情况下查看官方文档

基本上,这允许您以熊猫一样快速读取/写入镶木地板文件,从而为您提供使用来查看和处理此类文件的好处,就像它是常规文件一样。DataFramenotebookscsv

编辑:

例如,给定 最新版本的 ,请确保已安装:Pandaspyarrow

然后,您可以简单地使用 pandas 来操作 Parquet 文件:

import pandas as pd

# read
df = pd.read_parquet('myfile.parquet')

# write
df.to_parquet('my_newfile.parquet')

df.head()

推荐