【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

 

好像优化后效果并不明显,衰!






点击“阅读原文”查看网上一组测试结果!

本文分享自微信公众号 - HBase工作笔记(HBase-Notes)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章