1.4. 文件存储格式¶
1.4.1. Parquet¶
专为大数据处理系统优化的列式存储文件格式。
2013 年,由 Twitter 和 Cloudera 两个在大数据生态系统中具有影响力的公司(曾经)共同创建。
目标是开发一种高效,高性能的列式存储格式,并且能够与各种数据处理系统兼容。Parquet 从一开始就被设计为开源项目,后来被 Apache 软件基金会采纳为顶级项目。
与传统的基于行存储的格式(如 CSV 和 JSON)相比,Parquet 文件格式具有以下优势:
1.可以提高查询性能,尤其是对涉及汇总或过滤大量数据的分析工作负载。 2.有助于降低存储成本,由于 Parquet 具有先进的压缩和编码技术,所以在降低存储成本的同时还能保持高读写的性能。
关键特性:
1. 列式存储格式
2. 高效压缩和编码
3. Schema 演进支持
能很好地处理数据 schema 随时间推移的变化
允许添加、删除或修改列而不影响现有数据来支持 schema 演进
4. 支持复杂数据类型
包括嵌套和重复结构,以及数组、映射(map)和结构(struct)等数据类型
Parquet 是以二进制存储数据,如果想查看数据文件,可以使用`hexdump`工具:
hexdump -C student_data.parquet