Hive On Hbase VS Hive On Hdfs 性能对比测试
Posted Hbase工作笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive On Hbase VS Hive On Hdfs 性能对比测试相关的知识,希望对你有一定的参考价值。
前言:
由于工作中涉及数据更新操作,而hive on HDFS 实现更新比较麻烦,故想到了在hbase上建立hive外部表,然后通过impala进行查询!下面是一组简单的测试结果:
查询数据量:2575656 53G
hive_hbase_news_info:hbase在hive中的映射表,记为t1
hive_hbase_news_info_replic:hive中外部分区表,记为t2
hive_hbase_news_info_u:优化后,hbase在hive中的映射表,记为t3
查询方式:Impala查询
1.比较 count(1)
select count(1) from hive_hbase.hive_hbase_news_info;
select count(1) from hive_hbase.hive_hbase_news_info_replic;
次数 |
t1 |
t2 |
1 |
1m’34s |
12.12s |
2 |
1m’27s |
1.36s |
3 |
1m’24s |
1.28s |
优化后:
select count(1) from hive_hbase.hive_hbase_news_info_u;
次数 |
T3 |
1 |
89.42s |
2 |
62.66s |
3 |
55.98s |
4 |
53.38s |
2.比较 where+limit
select id,year from hive_hbase.hive_hbase_news_info where year = '2012' limit 100;
select id,year from hive_hbase.hive_hbase_news_info_replic where year = 2012 limit 100;
次数 |
t1 |
t2 |
1 |
13.02s |
0.14s |
2 |
12.87s |
0.14s |
3 |
12.99s |
0.14s |
优化后:
select id,year from hive_hbase.hive_hbase_news_info_u where year = '2012' limit 100;
次数 |
T3 |
1 |
20.42s |
2 |
20.43s |
3 |
20.15s |
select id,year from hive_hbase.hive_hbase_news_info where year = '2012' limit 1000;
select id,year from hive_hbase.hive_hbase_news_info_replic where year = 2012 limit 1000;
次数 |
t1 |
t2 |
1 |
21.64s |
0.20s |
2 |
21.35s |
0.20s |
3 |
21.46s |
0.20s |
优化后:
select id,year from hive_hbase.hive_hbase_news_info_u where year = '2012' limit 1000;
次数 |
T3 |
1 |
20.07s |
2 |
20.52s |
3 |
20.32s |
注:limit是很耗时的。
3.比较 where 大约23万条
select id,year from hive_hbase.hive_hbase_news_info where year = '2012' ;
select id,year from hive_hbase.hive_hbase_news_info_replic where year = 2012 ;
次数 |
t1 |
t2 |
1 |
66.45s |
38.46s |
2 |
38.64s |
38.40s |
3 |
38.49s |
38.68s |
优化后:
select id,year from hive_hbase.hive_hbase_news_info_u where year = '2012' ;
次数 |
t1 |
1 |
39.46s |
2 |
39.50s |
3 |
39.47s |
4.比较 no where
select id,year from hive_hbase.hive_hbase_news_info ;
select id,year from hive_hbase.hive_hbase_news_info_replic ;
次数 |
t1 |
t2 |
1 |
171.91s |
175.26s |
2 |
171.77s |
172.94s |
优化后:
select id,year from hive_hbase.hive_hbase_news_info_u;
次数 |
T3 |
1 |
174.47s |
2 |
174.43s |
优化前后参数变化:
1.HBase RegionServer 的 Java 堆栈大小(字节):5G --> 10G
2.HBase 客户端扫描仪缓存:
hbase.client.scanner.caching:100 --> 500
3.HBase 文件最大大小:
hbase.hregion.max.filesize:10G --> 5G
4.添加预分区
5.关闭mapreduce的推测执行:
mapred.map.tasks.speculative.execution --> false
mapred.reduce.tasks.speculative.execution --> false
好像优化后效果并不明显,衰!
点击“阅读原文”查看网上一组测试结果!
以上是关于Hive On Hbase VS Hive On Hdfs 性能对比测试的主要内容,如果未能解决你的问题,请参考以下文章
hive on spark VS SparkSQL VS hive on tez
hive on spark VS SparkSQL VS hive on tez
SparkSQL vs Hive on Spark - 区别和利弊?