当前位置:首页 - Hive

基于hive离线查询统计hbase数据的方法

作者:高景洋 日期:2021-09-09 15:22:00 浏览次数:1574

背景

1、调度数据存在hbase中,数据总量约2亿,活数据约1.2亿

2、每日要基于1.2亿的活数据,做每2小时一次的调度,日调度12次

3、当前的调度方式为,spark + hbase 方式。通过 spark将hbase的数据读取后,做调度操作。

4、调度性能满足当前业务需求,且性能富裕。

5、但对于hbase调度库的数据情况,因为数据量大,难于统计分析。

6、因此,我们需要一种方式,以 在线 或 离线 方式,可以统计调度库中的数据。


方法

1、每天凌晨,通过spark,将hbase的数据导入到hive表 product

     a、先对hive表做 drop 操作(因为每天都会进行该操作,需删除后重建),drop table product

     b、将hbase的数据导入到hive,具体方法 参见: http://r4.com.cn/art196.aspx

     c、经测试 1.2亿数据导入到hive 用时6分钟


使用

数据导入到hive后,就可以基于hive 离线统计数据了

1、统计如下:

hive> select shopname,count(1) from product where websiteid=1 and isdeleted=false group by shopname;

Time taken: 34.07 seconds, Fetched: 174832 row(s)

2、从1.2亿数据中,进行group by 操作 用时,34s,统计结果 17.4W行

本文永久性链接:
<a href="http://r4.com.cn/art201.aspx">基于hive离线查询统计hbase数据的方法</a>
当前header:Host: r4.com.cn X-Host1: r4.com.cn X-Host2: r4.com.cn X-Host3: 127.0.0.1:8080 X-Forwarded-For: 18.189.194.168 X-Real-Ip: 18.189.194.168 X-Domain: r4.com.cn X-Request: GET /art201.aspx HTTP/1.1 X-Request-Uri: /art201.aspx Connection: close Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) Accept-Encoding: gzip, br, zstd, deflate