Parquet

Parquet是可用于Hadoop生态系统中任何项目的开源文件格式。与基于行的文件(例如CSV或TSV文件)相比,Apache Parquet旨在提供高效且高性能的扁平列式数据存储格式。

Parquet使用记录粉碎和组装算法,该算法优于嵌套名称空间的简单拼合。Parquet经过优化,可以批量处理复杂的数据,并采用不同的方式进行有效的数据压缩和编码类型。这种方法最适合需要从大型表读取某些列的查询。Parquet只能读取所需的列,因此大大减少了IO。

以列格式存储数据的优点:
与CSV等基于行的文件相比,像Apache Parquet这样的列式存储旨在提高效率。查询列式存储时,您可以非常快地跳过无关数据。结果,与面向行的数据库相比,聚合查询耗时更少。这种存储方式已转化为节省硬件和最小化访问数据的延迟。
Apache Parquet是从头开始构建的。因此,它能够支持高级嵌套数据结构。Parquet数据文件的布局已针对处理大量数据的查询进行了优化,每个文件的千兆字节范围内。
Parquet构建为支持灵活的压缩选项和有效的编码方案。由于每一列的数据类型非常相似,因此每一列的压缩非常简单(这使查询更快)。可以使用几种可用的编解码器之一压缩数据。结果,可以不同地压缩不同的数据文件。
Apache Parquet最适合与AWS Athena,Amazon Redshift Spectrum,Google BigQuery和Google Dataproc等交互式和无服务器技术配合使用。
Parquet和CSV的区别
CSV是一种简单且广泛使用的格式,许多工具(例如Excel,Google表格和其他工具)都使用CSV来生成CSV文件。即使CSV文件是数据处理管道的默认格式,它也有一些缺点:

Amazon Athena和Spectrum将根据每个查询扫描的数据量收费。
Google和Amazon将根据GS / S3上存储的数据量向您收费。
Google Dataproc收费是基于时间的。
Parquet帮助其用户将大型数据集的存储需求减少了至少三分之一,此外,它大大缩短了扫描和反序列化时间,从而降低了总体成本。

下表比较了通过将数据从CSV转换为Parquet所节省的成本以及提速。

数据集

Amazon S3的大小

查询运行时间

扫描数据

成本

数据存储为CSV文件

1 TB

236秒

1.15 TB

$ 5.75

以Apache Parquet格式存储的数据

130 GB

6.78秒

2.51 GB

$ 0.01

积蓄

使用镶木地板时减少87%

快34倍

扫描数据减少99%

节省99.7%

posted @   独孤风  阅读(859)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示