拼花

回到术语表

什么是拼花?

Apache Parquet是一种开源的、bob下载地址面向列的数据文件格式,设计用于高效的数据存储和检索。它提供了高效的数据压缩和编码方案,增强了处理批量复杂数据的性能。Apache Parquet被设计为用于批处理和交互式工作负载的通用交换格式。中可用的其他柱状存储文件格式类似Hadoop,即RCFile和ORC。

拼花的特点

  • 免费和开源的文件格bob下载地址式。
  • 语言不可知论者。
  • 基于列的格式-文件按列组织,而不是按行,节省存储空间,加快分析查询。
  • 用于分析(OLAP)用例,通常与传统的OLTP数据库结合使用。
  • 高效数据压缩和解压缩。
  • 支持复杂数据类型以及高级嵌套数据结构。

拼花的好处

  • 适合存储任何类型的大数据(结构化数据表、图像、视频、文档)。
  • 节省云存储空间通过对具有不同数据类型的列使用高效的列压缩和灵活的编码方案。
  • 提高数据吞吐量和性能使用数据跳过等技术,这样获取特定列值的查询不需要读取整行数据。
Apache Parquet是使用记录分解和汇编算法实现的,该算法适应可用于存储数据的复杂数据结构。Parquet经过优化,可大量处理复杂数据,并具有高效数据压缩和编码类型的不同方法。这种方法特别适合那些需要从大型表中读取某些列的查询。Parquet只能读取所需的列,因此极大地减少了IO。

以柱状格式存储数据的优点:

  • 像Apache Parquet这样的柱状存储与基于行的文件(如CSV)相比具有更高的效率。在查询时,柱状存储可以快速跳过不相关的数据。因此,与面向行的数据库相比,聚合查询更节省时间。这种存储方式节省了硬件,并最小化了访问数据的延迟。
  • Apache Parquet是从头开始建造的。因此,它能够支持高级的嵌套数据结构。Parquet数据文件的布局针对处理大量数据的查询进行了优化,每个单独的文件都在千兆字节范围内。
  • Parquet支持灵活的压缩选项和高效的编码方案。由于每个列的数据类型非常相似,因此每个列的压缩非常简单(这使得查询更快)。数据可以通过使用几种可用的编解码器之一进行压缩;因此,不同的数据文件可以以不同的方式压缩。
  • Apache Parquet最适合与交互式和无服务器技术(如AWS Athena、Amazon Redshift Spectrum、谷歌BigQuery和谷歌Dataproc)协作。

Parquet和CSV的区别

CSV是一种简单而通用的格式,被许多工具使用,如Excel,谷歌Sheets和许多其他工具。即使CSV文件是数据处理管道的默认格式,它也有一些缺点:
  • 亚马逊雅典娜和Spectrum将根据每次查询扫描的数据量收费。
  • 谷歌和Amazon将根据GS/S3上存储的数据量向您收费。
  • 谷歌Dataproc收费是基于时间的。
Parquet已经帮助用户在大型数据集上减少了至少三分之一的存储需求,此外,它还大大提高了扫描和反序列化时间,从而降低了总体成本。下表比较了将数据从CSV转换为Parquet所获得的节省和加速。

数据集

Amazon S3上的大小

查询运行时间

数据扫描

成本

以CSV格式存储的数据

1 TB

236秒

1.15结核病

5.75美元

以Apache Parquet格式存储的数据

130 GB

6.78秒

2.51 GB

0.01美元

储蓄

使用Parquet时减少87%

快34倍

扫描数据减少99%

99.7%的储蓄

拼花和三角洲湖

开源bob下载地址三角洲湖项目构建并扩展了Parquet格式,添加了额外的功能,如云对象存储上的ACID事务、时间旅行、模式演化和简单的DML命令(CREATE/UPDATE/INSERT/DELETE/MERGE)。Delta Lake通过使用有序的事务日志实现了许多重要的特性,这使得数据仓库功能在云对象存储上成为可能。BOB低频彩在Databricks博客文章中了解更多信息潜入Delta Lake:打开事务日志

额外的资源


回到术语表