[i18n] print_printable_section [i18n] print_click_to_print.

[i18n] print_show_regular.

概述

关于 Parquet 的一切。

Apache Parquet 是一种开源的列式数据文件格式,专为高效的数据存储和检索而设计。 它提供高性能的压缩和编码方案来批量处理复杂数据,并被众多编程语言和分析工具所支持。

parquet-format(规范)

parquet-format 仓库托管了 Parquet 文件格式的官方规范,定义了数据的结构和存储方式。该规范以及 parquet.thrift Thrift 元数据定义,是开发能够有效读写 Parquet 文件的软件所必需的。

请注意,parquet-format 仓库不包含读写 Parquet 文件的库源代码,而是文件格式本身的正式定义和文档。

parquet-java

parquet-java(原名 parquet-mr)仓库是 Apache Parquet 项目的一部分,包含:

  • 用于在 Java 应用程序中读写 Parquet 文件的 Java 库。
  • 用于处理 Parquet 文件的实用程序和 API,包括数据导入/导出、模式管理和数据转换工具。

请注意,Parquet 格式还有许多其他实现,下面列出了其中一些。

其他客户端 / 库 / 工具

Parquet 生态系统丰富多样,包含各种工具、库和客户端,每个都提供不同级别的功能支持。需要注意的是,并非所有实现都支持 Parquet 格式的相同功能。在工作流中集成多个 Parquet 实现时,务必进行全面测试,以确保不同平台和工具之间的兼容性和性能。

您可以在实现状态页面找到有关各种 Parquet 实现功能支持的更多信息。

以下是一个非详尽的开源 Parquet 实现列表:

1 - 设计动机

我们创建 Parquet 是为了让 Hadoop 生态系统中的任何项目都能利用压缩的、高效的列式数据表示的优势。

Parquet 从一开始就考虑到复杂的嵌套数据结构,并使用了 Dremel 论文中描述的记录分解和组装算法。我们认为这种方法优于简单地扁平化嵌套命名空间。

Parquet 旨在支持非常高效的压缩和编码方案。多个项目已经证明了将正确的压缩和编码方案应用于数据所带来的性能影响。Parquet 允许在每列级别指定压缩方案,并具有前瞻性,可以在新的编码方案被发明和实现时添加更多编码。

Parquet 的设计目标是供所有人使用。Hadoop 生态系统拥有丰富的数据处理框架,我们对任何框架都一视同仁。我们相信,一个高效的、实现良好的列式存储基底应该对所有框架都有用,而不需要付出大量且难以设置的依赖成本。