大数据开源列式存储引擎Parquet和ORC_Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
6
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3616 | 回复: 5   主题: 大数据开源列式存储引擎Parquet和ORC        上一篇   下一篇 
jun.zhang
注册用户
等级:上士
经验:278
发帖:76
精华:0
注册:2011-12-27
状态:离线
发送短消息息给jun.zhang 加好友    发送短消息息给jun.zhang 发消息
发表于: IP:您无权察看 2015-12-11 14:45:49 | [全部帖] [楼主帖] 楼主

相比传统的行式存储引擎,列式存储引擎具有更高的压缩比,更少的IO操作而备受青睐(注:列式存储不是万能高效的,很多场景下行式存储仍更加高效),尤

其是在数据列(column)数很多,但每次操作仅针对若干列的情景,列式存储引擎的性价比更高。


在互联网大数据应用场景下,大部分情况下,数据量很大且数据字段数目很多,但每次查询数据只针对其中的少数几行,这时候列式存储是极佳的选择,目前在

开源实现中,最有名的列式存储引擎是Parquet和ORC,在最近一年内,它们都晋升为Apache顶级项目,可见它们的重要性。本文尝试比较这两种存储引擎。

Apache Parquet

源自于google Dremel系统(可下载论文参阅),Parquet相当于Google Dremel中的数据存储引擎,而Apache顶级开源项目Drill正是Dremel的开源实现。

Apache Parquet 最初的设计动机是存储嵌套式数据,比如Protocolbuffer,thrift,json等,将这类数据存储成列式格式,以方便对其高效压缩和编码,且使

用更少的IO操作取出需要的数据,这也是Parquet相比于ORC的优势,它能够透明地将Protobuf和thrift类型的数据进行列式存储,在Protobuf和thrift被广泛使

用的今天,与parquet进行集成,是一件非容易和自然的事情。 除了上述优势外,相比于ORC, Parquet没有太多其他可圈可点的地方,比如它不支持update操作

(数据写成后不可修改),不支持ACID等。

Apache ORC

ORC(OptimizedRC File)存储源自于RC(RecordColumnar File)这种存储格式,RC是一种列式存储引擎,对schema演化(修改schema需要重新生成数据)支持

较差,而ORC是对RC改进,但它仍对schema演化支持较差,主要是在压缩编码,查询性能方面做了优化。RC/ORC最初是在Hive中得到使用,最后发展势头不错,

独立成一个单独的项目。Hive 1.x版本对事务和update操作的支持,便是基于ORC实现的(其他存储格式暂不支持)。ORC发展到今天,已经具备一些非常高级的

feature,比如支持update操作,支持ACID,支持struct,array复杂类型。你可以使用复杂类型构建一个类似于parquet的嵌套式数据架构,但当层数非常多

时,写起来非常麻烦和复杂,而parquet提供的schema表达方式更容易表示出多级嵌套的数据类型。

Parquet与ORC对比


总结

目前在互联网领域,列式存储已经逐步被用于各种产品线中,比如twitter已经将部分数据格式转换为parquet,所占空间和查询时间减少了约1/3。在Twitter,

日志格式使用thrift描述,使用Parquet存储,下图是一个典型的数据格式描述,共有87个字段,7层嵌套关系。










                                                                                                                        --转自



赞(0)    操作        顶端 
步步惊心
注册用户
等级:列兵
经验:115
发帖:0
精华:0
注册:2016-2-17
状态:离线
发送短消息息给步步惊心 加好友    发送短消息息给步步惊心 发消息
发表于: IP:您无权察看 2016-3-18 8:47:00 | [全部帖] [楼主帖] 2  楼

系统问题



赞(0)    操作        顶端 
美炸了的菇凉
注册用户
等级:上士
经验:315
发帖:0
精华:0
注册:2016-2-17
状态:离线
发送短消息息给美炸了的菇凉 加好友    发送短消息息给美炸了的菇凉 发消息
发表于: IP:您无权察看 2016-3-21 19:17:53 | [全部帖] [楼主帖] 3  楼

学到了,谢谢



赞(0)    操作        顶端 
你真的真的很好
注册用户
等级:下士
经验:164
发帖:0
精华:0
注册:2016-2-14
状态:离线
发送短消息息给你真的真的很好 加好友    发送短消息息给你真的真的很好 发消息
发表于: IP:您无权察看 2016-3-22 22:55:24 | [全部帖] [楼主帖] 4  楼

非常感谢



赞(1)    操作        顶端 
wuli涛涛
注册用户
等级:下士
经验:192
发帖:1
精华:0
注册:2016-2-17
状态:离线
发送短消息息给wuli涛涛 加好友    发送短消息息给wuli涛涛 发消息
发表于: IP:您无权察看 2016-3-23 16:55:31 | [全部帖] [楼主帖] 5  楼

学习了,谢谢



赞(0)    操作        顶端 
唾沫星子
注册用户
等级:下士
经验:176
发帖:1
精华:0
注册:2016-1-8
状态:离线
发送短消息息给唾沫星子 加好友    发送短消息息给唾沫星子 发消息
发表于: IP:您无权察看 2016-3-23 17:15:33 | [全部帖] [楼主帖] 6  楼

学习了,谢谢



赞(0)    操作        顶端 
总帖数
6
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论