Parquet 支持数据嵌套的列式数据存储格式

简介

        Apache Parquet 是一个列存储格式,主要用于 Hadoop 生态系统。对数据处理框架、数据模型和编程语言无关。Cloudera的大数据在线分析(OLAP)项目Impala中使用该格式作为列存储。

        Parquet是Twitter内部的列式存储,目前开源并将代码托管在 parquet-format

        Parquet是一种供Hadoop使用的列式存储格式。Parquet为Hadoop生态系统中的所有项目提供支持高效率压缩的列式数据表达,而且与数据处理框架、数据模型或编程语言都没有关系。

        正如Google Dremel一样,Parquet由许多复杂的嵌套的数据结构组成,并使用重复级别/定义级别(repetition/definition level )的方法来对数据结构进行编码。这种方法能够实现优秀的简单扁平的嵌套命名空间。

        Parquet支持对某一列数据进行压缩,未来还会实现更多的编码方式。将编码的概念与压缩分开,Parquet的用户可以直接对编码数据进行实施和操作,而不需要经历先解压再压缩的过程。

        Parquet被设计成可供任何人使用。Hadoop生态圈中有大量的数据处理框架,一个高效的、便于实施的列式存储模板应该为所有框架所用。

        提供了用于处理列式数据的Java构建块,和Hadoop输入/输出格式工具,Pig储存/加载,并集成了Parquet格式转换工具( parquet-mr)。

        Parquet metadata is encoded using Apache Thrift.

时间: 2024-10-23 20:14:22

Parquet 支持数据嵌套的列式数据存储格式的相关文章

【数据蒋堂】列式存储的另一面

列存是常见的数据存储技术,在许多场景下也确实很有效,因而也被不少数据仓库类产品采用,在业内列存也常常就意味着高性能. 可是,列存真有这么好吗?搜索一下,容易找到的列存缺点一般是针对数据修改的,而对于只读的分析计算任务,却很少能见到较详细的讨论.我们在这里来研究一下这个问题. 对内存计算意义不大 列存的原理很简单:由于磁盘不适合跳动式读取,采用行式存储时在读取数据时会扫描所有列,而一次运算可能只涉及很少的列,这样就会多读很多用不上的数据.采用列存则只需要读取需要用到的列,数据访问量会大幅减少,而大

【译】使用Apache Kafka构建流式数据平台(1)

前言:前段时间接触过一个流式计算的任务,使用了阿里巴巴集团的JStorm,发现这个领域值得探索,就发现了这篇文章--Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform(Part 1).在读的过程中半总结半翻译,形成本文,跟大家分享. 最近你可能听说很多技术名词,例如"流式处理"."事件数据"以及"实时"等,与之相关的技术有Kafka.S

解析:集装箱式数据中心的四大疑问

2006年10月,原SUN公司提出一个颇具想象力的"黑盒子计划(Blackbox)",构想是将数据中心的主要组件,包括计算机硬件.供电和冷却设备等全部放到一个标准集装箱中,即我们今天所说的集装箱式数据中心.而且,SUN真的造出了这么个集装箱式数据中心,并拉着它前往世界各地进行巡展,还登上了我国的长城,在业界一时风头无二. SUN集装箱式数据中心Blackbox Blackbox登上长城 SUN的创意迅速得到IBM.惠普.戴尔.SGI等国外厂商的积极响应,这些厂商先后推出了相关的产品.尤

海量高性能列式数据库HiStore技术架构解析

HiStore 介绍 HiStore是阿里中间件团队研发的数据库产品,是一款基于独特的知识网格技术的列式数据库,定位于海量数据高压缩比列式存储,是低存 储成本,低维护成本,海量数据OLAP存储引擎;有效的解决了海量数据存储的成本问题,以及在百亿数据场景下支持实时高效的多维度自 由组合的检索. 关键字: 列式,分布式,高压缩比; 一.HiStore HiStore 专门针对OLAP应用程序进行设计和优化,在常规X86服务器上,HiStore可以在百亿数据场景下进行高性能,多维度自由组合 的adho

《NoSQL权威指南》——2.6 数据仓库和列式数据库

2.6 数据仓库和列式数据库 当只涉及少数列时,数据仓库可以将部分工作负载转移到列式数据库,以提高性能.多维数据库(Multidimensional database,MDB)或多维数据集(cube)是支持非常快速访问预先计算的汇总数据的不同的物理结构.当查询请求MDB大部分列的情况下,MDB将执行相当不错. 这些MDB数据库的物理存储是一个规范化的维度模型,通过存储计算结果消除了连接(join)操作.然而,随着列的增加,MDB会变得巨大,并且增长速度会比预期快.MDB中的数据可以使用与列式数据

《智能数据时代:企业大数据战略与实战》一2.3 自我评估、完善度、信息架构

2.3 自我评估.完善度.信息架构 一个早期的对当前信息架构完善程度的自我评估,能使一个组织深刻认识到扩展自我当前结构的能力.如果一个组织还停留在基础数据仓库的落实阶段,那就最好不要期望通过实施大数据的项目来解决所有问题了.事实上,这样的项目可能会妨碍业务线希望尽快解决更高优先级的问题.在出版物中我们发现了各种各样的关于信息架构的完善度评定量表.一般的组织通常走这样的路线:数据和信息仓库,数据和信息的标准化,高端业务优化,信息服务.图2-2展示了这种路径. 下面是每个阶段过程的详细阐述.数据和信

【数据蒋堂】第8期:列式存储的另一面

列存是常见的数据存储技术,在许多场景下也确实很有效,因而也被不少数据仓库类产品采用,在业内列存也常常就意味着高性能. 可是,列存真有这么好吗?搜索一下,容易找到的列存缺点一般是针对数据修改的,而对于只读的分析计算任务,却很少能见到较详细的讨论.我们在这里来研究一下这个问题. 对内存计算意义不大 列存的原理很简单:由于磁盘不适合跳动式读取,采用行式存储时在读取数据时会扫描所有列,而一次运算可能只涉及很少的列,这样就会多读很多用不上的数据.采用列存则只需要读取需要用到的列,数据访问量大概率会大幅减少

《CCNP安全Secure 642-637认证考试指南》——8.3节路由式数据面安全技术

8.3 路由式数据面安全技术 CCNP安全Secure 642-637认证考试指南 接下来,我们将讨论各种安全技术的原理及其实施方法. 8.3.1 访问控制列表 访问控制列表(Access Control List,ACL)是一种指令列表,一般由若干个ACL条目(ACL entry)组成,用于控制进出路由器接口的数据包.当数据包到达接口时,路由器自上而下搜索ACL中是否存在匹配的条目,以决定允许还是拒绝数据包通过. ACL可以防御多种攻击,与其他安全措施配合使用能进一步提高网络的安全性.无论是中

Oracle Sun ZFS存储设备和Pillar Axiom存储系统支持混合列式压缩

甲骨文http://www.aliyun.com/zixun/aggregation/17539.html">公司宣布,Oracle Sun ZFS存储设备和Pillar Axiom存储系统现已支持混合列式压缩(Hybrid Columnar Compression)功能,最早支持该功能的是Oracle Exadata. 随着ZFS存储设备和Pillar Axiom存储系统对混合列式压缩功能的支持,Oracle NAS和SAN系统的客户现在可以受益于混合列式压缩功能带来的高存储效率了,他们