设为首页 加入收藏

TOP

hive sequencefile和rcfile效率对比
2014-11-24 08:11:56 来源: 作者: 【 】 浏览:1
Tags:hive sequencefile rcfile 效率 对比
hive sequencefile和rcfile效率对比
源数据放在test1表中,大小 26413896039 Byte。
创建sequencefile 压缩表test2,使用insert overwrite table test2 select ...语句将test1数据导入 test2 ,设置配置项:
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;
SET io.seqfile.compression.type=BLOCK;
set io.compression.codecs=com.hadoop.compression.lzo.LzoCodec;

导入耗时:98.528s。另压缩类型使用默认的record,耗时为418.936s。
创建rcfile 表test3 ,同样方式导入test3。
set hive.exec.compress.output=true;
set mapred.output.compress=true;
set mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;
set io.compression.codecs=com.hadoop.compression.lzo.LzoCodec;

导入耗时 253.876s。
以下为其他统计数据对比:
rows 类型 合并耗时 文件数 总数据大小 count(1) 基于domain、referer求点击的top100
238610458 原始数据 1134 26413896039 66.297s
238610458 seq 98.528(block) 418.936(record) 1134 32252973826 41.578 394.949s(读入数据:32,253,519,280,读入行数:238610458)
238610458 rcfile 253.876 s 15 3765481781 29.318 286.588s(读入数据:1,358,993,读入行数:238610458
因为原始数据中均是小文件,所以合并后文件数大量减少,但是hive实现的seqfile 处理竟然还是原来的数目。rcfile 使用lzo 压缩效果明显,7倍的压缩比率。查询数据中读入数据因为这里这涉及小部分数据,所以rcfile的表读入数据仅是seqfile的4%.而读入行数一致。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇into outfile和load data infile.. 下一篇PostgreSQL启动过程中的那些事七..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Python 数据分析与可 (2025-12-26 21:51:20)
·从零开始学Python之 (2025-12-26 21:51:17)
·超长干货:Python实 (2025-12-26 21:51:14)
·为什么 Java 社区至 (2025-12-26 21:19:10)
·Java多线程阻塞队列 (2025-12-26 21:19:07)