当前位置: 首页 > article >正文

parquet :开源的列式存储文件格式

1. Parquet文件定义与核心概念

Parquet是一种开源的列式存储文件格式,由Twitter和Cloudera合作开发,2015年成为Apache顶级项目。其设计目标是为大数据分析提供高效存储和查询,主要特点包括:

  • 列式存储:数据按列而非按行组织,相同数据类型集中存储,显著提升分析查询效率(如仅读取部分列)。
  • 高效压缩:支持Snappy、Gzip、Zstd、LZO等算法,压缩率比行式格式(如CSV)高90%以上,大幅降低存储成本。
  • 自描述Schema:文件内嵌元数据(如数据类型、结构),确保跨系统一致性。
  • 嵌套数据支持:基于Google Dremel论文的算法处理复杂嵌套结构(如JSON/Protocol Buffers)。

2. 文件结构与技术细节

2.1 逻辑结构

Parquet文件由三部分组成:

  • Header:4字节魔术数字PAR1,标识文件格式。
  • Data Block:包含多个行组(Row Group),每个行组是数据处理的并行单元。
http://www.lryc.cn/news/2401019.html

相关文章:

  • SpringBoot关于文件上传超出大小限制--设置了全局异常但是没有正常捕获的情况+捕获后没有正常响应返给前端
  • 【Go语言】Ebiten游戏库开发者文档 (v2.8.8)
  • Spring Boot应用开发实战
  • 实验设计与分析(第6版,Montgomery著,傅珏生译) 第9章三水平和混合水平析因设计与分式析因设计9.5节思考题9.1 R语言解题
  • Pycharm 配置解释器
  • learn react course
  • SQL进阶之旅 Day 11:复杂JOIN查询优化
  • web第八次课后作业--分层解耦
  • MySQL 事务深度解析:面试核心知识点与实战
  • 使用Redis作为缓存,提高MongoDB的读写速度
  • 【图片自动识别改名】识别图片中的文字并批量改名的工具,根据文字对图片批量改名,基于QT和腾讯OCR识别的实现方案
  • Kafka消息队列笔记
  • 机器人变量类型与配置
  • nssm配置springboot项目环境,注册为windows服务
  • 20-项目部署(Docker)
  • Python学习(6) ----- Python2和Python3的区别
  • 零基础安装 Python 教程:从下载到环境配置一步到位(支持 VSCode 和 PyCharm)与常用操作系统操作指南
  • SAP学习笔记 - 开发18 - 前端Fiori开发 应用描述符(manifest.json)的用途
  • 分类与逻辑回归 - 一个完整的guide
  • 一键试衣,6G显存可跑
  • 跟着deepseek浅学分布式事务(2) - 两阶段提交(2PC)
  • 【仿生机器人软件架构】通过整合认知系统实现自主精神性——认知系统非常具有可执行性
  • 20250602在Ubuntu20.04.6下修改压缩包的日期和时间
  • Fullstack 面试复习笔记:项目梳理总结
  • 星闪开发之Server-Client 指令交互控制OLED灯案例
  • MySQL补充知识点学习
  • 《前端面试题:CSS有哪些单位!》
  • [ctfshow web入门] web80
  • 【设计模式-4.5】行为型——迭代器模式
  • C++_核心编程_继承中的对象模型