一种基于Hbase二级索引的数据统计方法与流程

文档序号:13707822阅读:344来源:国知局
技术领域本发明涉及一种大数据统计的技术,尤其涉及一种基于Hbase二级索引的数据统计方法。

背景技术:
随着信息数据量的几何增长,Hbase表数据量越来越大,对数据进行各个维度的统计的难度也随之变大。目前传统是通过写MapReduce或者使用Hive、Pig等工具的方法,传统方法均是对全表进行扫描,对集群性能消耗与网络带宽的占用较大,在超大规模数据量的场景下不适用。仅仅靠升级物理硬件或者优化代码,已经不能适应信息的增长速度和信息处理效率的需求,研究者开始探索新的数据统计方法。如何解决此问题成为难点。

技术实现要素:
为了解决该问题,本发明提出了一种基于Hbase二级索引的数据统计方法,在对Hadoop集群不造成较大压力的情况下,对Hbase数据库的每日新增数据与总量进行统计;本方法具有如下特点:1)二级索引表创建简易2)索引文件与数据文件同时写入,保证一致性3)数据统计时间大大减少。本发明的技术方案是:一种基于Hbase二级索引的数据统计方法,具体步骤为:1)通过Coprocessor的Observer模式,在Hbase新增数据时,实时创建该表的二级索引数据,格式为Date_TableName_RowKey;2)将时间作为StartRow与StartRow,书写MR任务,进行数据统计,并删除7日之前的所有索引数据;3)通过crontab设置定时任务,每日自动执行进行数据统计。所述的步骤1)中,通过Coprocessor的Observer模式,在Hbase新增数据时,实时创建该表的二级索引数据,格式为Date_TableName_RowKey。使协处理器与业务进行有机结合。所述的步骤2)中,将时间作为StartRow与StartRow,书写MR任务,进行数据统计,并删除7日之前的所有索引数据。通过MapReduce的分布式处理优势,快速处理数据,并清除掉无用数据以减轻集群存储压力。本发明的有益效果:通过Hbase二级索引的引入,每次的数据操作,仅仅是寥寥几个Region,从根本上减小了集群的压力,减轻了网络通信的负担,使对高性能服务器的依赖性降低,增强了工作的效率和稳定性,且拥有较好的可扩展性,具有很好的推广使用价值。具体实施方式下面对本发明的内容进行更加详细的阐述:一种基于Hbase二级索引的数据统计方法,i.建立二级索引表。ii.通过Coprocessor的Observer模式,在Hbase新增数据时,实时创建该表的二级索引数据,格式为Date_TableName_RowKey。iii.将时间作为StartRow与StartRow,书写MR任务,进行数据统计,并删除7日之前的所有索引数据。iv.通过crontab设置定时任务,每日自动执行进行数据统计。本发明解决了两个主要的问题:1)运行MapReduce任务时,扫描全表对集群造成较大压力并消耗较多时间;2)当数据量较大时,MapReduce任务将过度占用网络带宽,可能对正常网络通信产生较大影响。通过使用Hbase二级索引技术,对索引表,参照业务时间设置Scan的setStartRow、setStopRow两个属性,扫描出所需数据,进而开始计数统计,此举使操作集中在某几个Region上而不是整个集群上,可较大程度的减轻集群压力。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1