利索能及
我要发布
收藏
专利号: 2018111434549
申请人: 杭州海康威视数字技术股份有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2025-08-05
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种分布式面向列数据库表的行数统计方法,其特征在于,所述方法包括:从分布式面向列数据库HBase表的列中选取数据为空的比例不大于比例阈值的列,得到目标列族;

获取所述HBase表中目标列族对应的数据文件,所述数据文件为至少一个,每个数据文件包括位于所述目标列族的数据,所述目标列族包括所述HBase表中数据为非空的至少一个列;

基于每个数据文件中的数据获取每个数据文件对应的行数;

获取各个数据文件对应的行数累加的结果,并根据所述累加的结果得到所述HBase表的行数。

2.根据权利要求1所述的方法,其特征在于,所述获取所述HBase表中目标列族对应的数据文件,包括:获取所述HBase表中的初始缓存数据;

将所述初始缓存数据转换为一个或者多个初始数据文件;

从所述初始数据文件中获取所述HBase表中目标列族对应的数据文件。

3.根据权利要求1所述的方法,其特征在于,所述获取所述HBase表中目标列族对应的数据文件,包括:获取所述HBase表中目标列族对应的目标缓存数据;

将所述目标缓存数据转换为数据文件,得到所述目标列族对应的数据文件。

4.根据权利要求1所述的方法,其特征在于,所述获取所述HBase表中目标列族对应的数据文件,包括:确定所述HBase表的各个区块中的目标列族对应的数据文件,所述区块包括位于所述HBase表的一个或者多个行,且位于所述HBase表的目标列族的数据。

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:当任一区块从所述HBase表中删除时,将被删除的区块中的目标列族对应的数据文件的行数从所述HBase表的行数中去除。

6.根据权利要求4所述的方法,其特征在于,所述方法还包括:如果任一区块中的数据发生变化,则获取变化后的区块中的目标列族对应的数据文件,根据变化后的区块中的目标列族对应的数据文件更新所述HBase表的行数。

7.根据权利要求4所述的方法,其特征在于,所述方法还包括:当任一区块对应的数据文件为多个时,将所述任一区块对应的多个所述数据文件合并成一个数据文件,并删除重叠数据,得到优化后的数据文件;

基于所述优化后的数据文件中的数据获取所述优化后的数据文件对应的行数,根据所述优化后的数据文件对应的行数获取所述HBase表的行数。

8.根据权利要求1所述的方法,其特征在于,所述基于每个数据文件中的数据获取每个数据文件对应的行数,包括:对各个数据文件中的数据进行类型为所述HBase表的行的布隆过滤;

基于所述布隆过滤的结果获得每个数据文件的行数。

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在创建所述HBase表时,为所述HBase表中的目标列族开启类型为所述Hbase表的行的布隆过滤。

10.一种分布式面向列数据库表的行数统计装置,其特征在于,所述装置包括:选取模块,用于从分布式面向列数据库HBase表的列中选取数据为空的比例不大于比例阈值的列,得到目标列族;

第一获取模块,用于获取所述HBase表中目标列族对应的数据文件,所述数据文件为至少一个,每个数据文件包括位于所述目标列族的数据,所述目标列族包括所述HBase表中数据为非空的至少一个列;

第二获取模块,用于基于每个数据文件中的数据获取每个数据文件对应的行数;

第三获得模块,用于获取各个数据文件对应的行数累加的结果,并根据所述累加的结果得到所述HBase表的行数。

11.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于获取所述HBase表中的初始缓存数据;将所述初始缓存数据转换为一个或者多个初始数据文件;从所述初始数据文件中获取所述HBase表中目标列族对应的数据文件。

12.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于获取所述HBase表中目标列族对应的目标缓存数据;将所述目标缓存数据转换为数据文件,得到所述目标列族对应的数据文件。

13.根据权利要求10所述的装置,其特征在于,所述第一获取模块,用于确定所述HBase表的各个区块中的目标列族对应的数据文件,所述区块包括位于所述HBase表的一个或者多个行,且位于所述HBase表的目标列族的数据。

14.根据权利要求13所述的装置,其特征在于,所述装置还包括:删除模块,用于当任一区块从所述HBase表中删除时,将被删除的区块中的目标列族对应的数据文件的行数从所述HBase表的行数中去除。

15.根据权利要求13所述的装置,其特征在于,所述装置还包括:更新模块,用于如果任一区块中的数据发生变化,则获取变化后的区块中的目标列族对应的数据文件,根据变化后的区块中的目标列族对应的数据文件更新所述HBase表的行数。

16.根据权利要求13所述的装置,其特征在于,所述装置还包括:合并模块,用于当任一区块对应的数据文件为多个时,将所述任一区块对应的多个数据文件合并成一个数据文件,并删除重叠数据,得到优化后的数据文件;

统计模块,用于基于所述优化后的数据文件中的数据获取所述优化后的数据文件对应的行数,根据所述优化后的数据文件对应的行数获取所述HBase表的行数。

17.根据权利要求10所述的装置,其特征在于,所述第二获取模块,用于对各个数据文件中的数据进行类型为所述HBase表的行的布隆过滤;基于所述布隆过滤的结果获得每个数据文件的行数。

18.根据权利要求17所述的装置,其特征在于,所述装置还包括:开启模块,用于在创建所述HBase表时,为所述HBase表中的目标列族开启类型为所述Hbase表的行的布隆过滤。

19.一种分布式面向列数据库表的行数统计装置,其特征在于,所述装置包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1‑9中任一所述的分布式面向列数据库表的行数统计方法。

20.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1‑9中任一所述的分布式面向列数据库表的行数统计方法。