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_infohbasehive中的映射表,记为t1

hive_hbase_news_info_replichive中外部分区表,记为t2

hive_hbase_news_info_u:优化后,hbasehive中的映射表,记为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

1m34s

12.12s

2

1m27s

1.36s

3

1m24s

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 hbase中列族的列名不固定

hive on spark VS SparkSQL VS hive on tez

hive on spark VS SparkSQL VS hive on tez

SparkSQL vs Hive on Spark - 区别和利弊?

spark 2.0.0集群安装与hive on spark配置

谓词下推 vs On 子句