【技术实现步骤摘要】
一种快速扫描HBase分区表的方法、装置、系统
本专利技术属于计算机
,尤其涉及一种快速扫描HBase分区表的方法、装置、系统。
技术介绍
HBase作为分布式的NoSQL数据库,底层采用KV的存储结构,其中的Key键在HBase中是按照顺序存储的,合理地设置主键索引可以快速地实现单条数据的查询需求。在实际应用中,除了查询单条数据的应用场景外,用户可能还需要扫描整个HBase的数据表,实现表扫描的操作,但是索引对于表扫描操作起不到加速辅助的作用。通常情况下,表扫描操作需要从开始到结尾实现全表的过滤查询需求,可能涉及到指标的Count统计、Sum求和等具体的聚合操作,也可能涉及到全表数据的逐条读取操作。HBase目前主要支持GET和SCAN两种操作从数据表中获取数据,GET对象用于获取单条记录数据,SCAN扫描对象用于扫描指定范围内的数据。目前,Spark客户端在读取HBase数据表中数据的时候,主要是以扫描的方式获取表中数据,通常只是生成一个SCAN扫描对象,但是该SCAN扫描对象却需要按照顺序逐步地扫 ...
【技术保护点】
1.一种快速扫描HBase分区表的方法,其特征在于,所述方法包括:/n对HBase数据表进行预分区以得到若干个物理分区;/n按照所述物理分区的数量对Spark的RDD进行分区,得到与所述物理分区的数量相同的逻辑分区,并建立与所述物理分区之间的映射关系以使得每个逻辑分区映射到对应的物理分区;/n在Spark运行时,为每个所述物理分区分配一个SCAN扫描对象以实现对HBase数据表的并行扫描。/n
【技术特征摘要】
1.一种快速扫描HBase分区表的方法,其特征在于,所述方法包括:
对HBase数据表进行预分区以得到若干个物理分区;
按照所述物理分区的数量对Spark的RDD进行分区,得到与所述物理分区的数量相同的逻辑分区,并建立与所述物理分区之间的映射关系以使得每个逻辑分区映射到对应的物理分区;
在Spark运行时,为每个所述物理分区分配一个SCAN扫描对象以实现对HBase数据表的并行扫描。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
为每个所述逻辑分区创建一个任务;
运行所述任务以对相应的SCAN扫描对象的扫描结果进行处理从而实现对HBase数据表的并行处理。
3.根据权利要求1所述的方法,其特征在于,对HBase数据表进行预分区以得到若干个物理分区具体包括:
计算待处理的数据量;
按照所述数据量对所述HBase数据表进行均分,得到若干个连续的物理分区。
4.根据权利要求3述的方法,其特征在于,按照所述数据量对所述HBase数据表进行均分,得到若干个连续的物理分区具体包括:
按照HBase数据表的行键所标识的范围,对HBase数据表进行均分,得到若干个连续的物理分区。
5.根据权利要求1所述的方法,其特征在于,对HBase数据表进行预分区以得到若干个物理分区具体包括:
根据历史数据变化趋势对HBase数据表进行划分,得到若干个连续的物理分区。
6.根据权利要求1~5任意一项所述的方法,其特征在于,为每个所述物理分区分配一个SCAN扫描对象具体包括:
获取每个物理分区的开始主键和结束主键;
根据每个物理分区的开始主键和结束主键,生成具有相同的开始主键和结束主...
【专利技术属性】
技术研发人员:刘智鑫,蔡苗,陈震宇,刘国华,
申请(专利权)人:中国邮政储蓄银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。