一种基于hbase的数据散列处理方法及装置制造方法及图纸

技术编号:10846585 阅读:152 留言:0更新日期:2014-12-31 17:30
本发明专利技术公开一种基于hbase的数据散列处理方法,包括步骤:将hbase的接口文件加载到HDFS分布式文件存储或装置中;将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;根据每个KEY字段分别生成随机种子,并以hbase的物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。本发明专利技术还公开一种基于hbase的数据散列处理装置。本发明专利技术能均衡各节点的负载,提高节点访问效率。

【技术实现步骤摘要】

本专利技术涉及大数据处理领域,特别是涉及一种基于hbase的数据散列处理方法及装置
技术介绍
移动互联网时代,移动通信行业的用户行为数据量激增,数据分析领域采用先进的大数据技术进行数据分析和数据访问工作,如hbase。但在实际应用过程中往往会存在并行访问某批数据访问的问题,这主要是因为hbase在数据写入时使用了单调递增或者时序的key将访问热度高的数据聚集在一个region(物理节点)上,造成访问集中在该region上,无法发挥集群性能的目标。对于HBASE的查询实现有两种方式:一种是按指定RowKey获取唯一一条记录的get方法,另一种是按照指定的条件获取一批记录的Scan方法。其中实现条件查询功能使用的是Scan方法,通过rowkey设计使批量获取记录集合在一起,可以提高条件查询的效率。但对于rowkey设计保证访问热度高的数据集合分散在集群节点中,避免集中访问的问题一直没有有效的方法。目前,在大数据领域中,已经有hbase相关查询优化的方法,现有的hbase的查询优化方法存在如下缺陷:访问热度较高的数据集合存储能提高访问效率,但方法中没有涉及到访问热度高数据如何提高访问效率的方法,若访问热度高的数据集合在一个节点中,造成该节点的负载很高,降低了访问效率。
技术实现思路
本专利技术所要解决的技术问题是:提供一种基于hbase的数据散列处理方法及装置,能有效解决现有技术中访问热度高的数据集合在一个节点中,节点的负载高,访问效率低的问题。为了解决上述技术问题,本专利技术采用的技术方案为:一种基于hbase的数据散列处理方法,包括步骤:将(hbase的)接口文件加载到HDFS分布式文件存储或装置中;将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;根据每个KEY字段分别生成随机种子,并以(hbase的)物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。为解决上述技术问题,本专利技术提供的另一技术方案为:一种基于hbase的数据散列处理装置,包括第一加载模块、转换模块、取模模块和第二加载模块;所述第一加载模块用于将(hbase的)接口文件加载到HDFS分布式文件存储或装置中;所述转换模块用于将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;所述取模模块用于根据每个KEY字段分别生成随机种子,并以(hbase的)物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;所述第二加载模块用于分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。本专利技术的有益效果在于:区别于现有技术中访问热度高的数据集合在一个节点中,节点的负载高,访问效率低,本专利技术通过将接口文件转换成HFILE存储格式(规范化处理),以各数据的KEY字段生成随机种子,并对所述随机种子进行取模,根据取模的结果将所述各数据分散至各节点进行存储,因此将所述各数据均匀的分配至集群各节点上,均衡了各节点的访问压力,提高了节点访问效率。附图说明图1为本专利技术一实施方式基于hbase的数据分布装置的功能框图;图2为本专利技术一实施方式一种基于hbase的数据散列处理方法流程图;图3为本专利技术一实施方式一种基于hbase的数据散列处理装置的功能框图;图4为本专利技术一实施方式一条接口数据加载和访问hbase场景的方法运行步骤流程图;图5为本专利技术一实施方式基于hbase的数据散列处理方法步骤的详细示意图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:通过各数据的KEY字段生成随机种子,对随机种子取模,根据取模结果将数据分散至不同的节点,均摊访问压力,提高访问效率。请参阅图1,为基于hbase的数据分布装置的功能框架图,流式计算数据分布装置各层具体说明如下:获取层:负责将接口数据装载到HDFS(HADOOP分布式文件存储)中,并进行HFILE(HBase中KeyValue数据的存储格式)规范化;处理层:负责HBASE表数据块的定义、接口数据的加载指引(落到HBASE哪个数据块中)、以及接口加载HBASE工作;针对预估的数据大小和HADOOP节点情况来预先分配REGION的个数用于每个数据块的存放,提取手机号码字段(数据分布主键)用于数据分布的计算依据,通过手机号码计算唯一的随机种子,然后结合流式计算集群中的物理节点数量取模,取模的值作为物理节点编号,也就是输入数据通过数据分布装置输出的目的地。功能层:负责hbase数据的处理、查询等对外服务工作。请参照图2,本专利技术的技术方案为:一种基于hbase的数据散列处理方法,包括步骤:S1、将hbase的接口文件加载到HDFS分布式文件存储或装置中;其中,所述接口文件就是需要进行处理的数据文件,包括手机上网日志数据;S2、将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;S3、根据每个KEY字段分别生成随机种子,并以(hbase的)物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;S4、分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。从上述描述可知,本专利技术的有益效果在于:本专利技术通过将接口文件转换至HFILE存储格式(规范化处理),根据接口文件中各数据的KEY字段生成随机种子,并对所述随机种子取模,在本专利技术取模的除数定义为节点的总数量,这样对随机种子取模后的值会确定在节点总数内,根据取模的结果将各数据分散存储至各节点,从而使所述各数据均匀的分配至各节点进行存储,均衡各节点的访问负载,提高了节点访问效率。进一步的,所述生成随机种子的方法为平方取中法。进一步的,所述生成随机种子的方法为线性取余法。其中,所述线性取余法为将种子设为X0,用一个算法X(n+1)=(a*X(n)+b)mod c产生X(n+1),一般将c取得很大,即可产生0到c-1之间的伪随机数。进一步的,所述接口文件为手机上网日志数据。进一步的,所述数据的KEY字段为手机号码字段。请参照图3,本专利技术的另一技术方案为:一种基于hbase的数据散列处理装置,包括第一加载模块、转换模块、取模模块和第二加载模块;所述第一本文档来自技高网
...

【技术保护点】
一种基于hbase的数据散列处理方法,其特征在于,包括步骤:将hbase的接口文件加载到HDFS分布式文件存储或装置中;将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;根据每个KEY字段分别生成随机种子,并以hbase的物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。

【技术特征摘要】
1.一种基于hbase的数据散列处理方法,其特征在于,包括步骤:
将hbase的接口文件加载到HDFS分布式文件存储或装置中;
将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中
的各数据的KEY字段;
根据每个KEY字段分别生成随机种子,并以hbase的物理存储节点的总数
为除数对每个随机种子进行取模,获得节点编号;
分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节
点。
2.根据权利要求1所述的基于hbase的数据散列处理方法,其特征在于,
所述生成随机种子的方法为平方取中法。
3.根据权利要求1所述的基于hbase的数据散列处理方法,其特征在于,
所述生成随机种子的方法为线性取余法。
4.根据权利要求2或3所述的基于hbase的数据散列处理方法,其特征在
于,所述接口文件为手机上网日志数据。
5.根据权利要求4所述的基于hbase的数据散列处理方法,其特征在于,
所述数据的KEY字段为手机号码字段。
6.一种基于hbase的数据散列处理装置,其特征在于,包括第一加载模块、
转换模块、取...

【专利技术属性】
技术研发人员:朱爱军叶潇陈威林菓
申请(专利权)人:福建新大陆软件工程有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1