CN104252535A - 一种基于hbase的数据散列处理方法及装置 - Google Patents
一种基于hbase的数据散列处理方法及装置 Download PDFInfo
- Publication number
- CN104252535A CN104252535A CN201410471421.2A CN201410471421A CN104252535A CN 104252535 A CN104252535 A CN 104252535A CN 201410471421 A CN201410471421 A CN 201410471421A CN 104252535 A CN104252535 A CN 104252535A
- Authority
- CN
- China
- Prior art keywords
- hbase
- data
- key field
- random seed
- interface document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于hbase的数据散列处理方法,包括步骤:将hbase的接口文件加载到HDFS分布式文件存储或装置中;将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;根据每个KEY字段分别生成随机种子,并以hbase的物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。本发明还公开一种基于hbase的数据散列处理装置。本发明能均衡各节点的负载,提高节点访问效率。
Description
技术领域
本发明涉及大数据处理领域,特别是涉及一种基于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的)接口文件加载到HDFS分布式文件存储或装置中;
所述转换模块用于将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;
所述取模模块用于根据每个KEY字段分别生成随机种子,并以(hbase的)物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;
所述第二加载模块用于分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。
从上述描述可知,本发明的有益效果在于:本发明通过将接口文件转换至HFILE存储格式(规范化处理),根据接口文件中各数据的KEY字段生成随机种子,并对所述随机种子取模,在本发明取模的除数定义为节点的总数量,这样对随机种子取模后的值会确定在节点总数内,根据取模的结果将各数据分散2000存储至各节点,从而使所述各数据均匀的分配至各节点进行存储,均衡各节点的访问负载,提高了节点访问效率。
进一步的,所述取模模块根据每个KEY字段生成随机种子的方法为平方取中法。
进一步的,所述取模模块根据每个KEY字段生成随机种子的方法为线性取余法。
进一步的,所述接口文件为手机上网日志数据。
进一步的,所述数据的KEY字段为手机号码字段。
请参照图4,本发明的实施例一为:为了更好的理解本发明,以下通过以一条接口数据加载和访问hbase场景的方法运作步骤做出详细阐述:
步骤1:数据装载HDFS,通过JAVA程序将接口文件加载到HDFS分布式文件存储;
步骤2:HFILE规范化,HFILE是HBase中KeyValue数据的存储格式,是属于HDFS分布式文件系统中的文件,应用程序将在HDFS上的接口文件进行HFILE的格式化,便于后续加载数据加载到HBASE;
步骤3:获取数据中的KEY字段作为数据分布的键值;
步骤4:根据KEY取随机种子,取随机种子的算法可以有多种,如平方取中法、线性取余法。生成出来的随机种子作为初始条件用于后面取模所用,一个KEY通过一种随机数算法只会生产一个唯一的随机种子;
步骤5:随机种子取模,在取模算法中,除数定义为REGION总数量,这样随机种子REGION总数量的值会确定在一个范围内,这个范围就是REGION个数;
步骤6:根据随机种子和region总数量取摸,在取模算法中,除数定义为REGION总数量,这样随机种子REGION总数量的值会确定在一个范围内,这个范围就是REGION个数,取模后的值可做为该条数据所属的REGION节点编号,是指引数据流向的关键信息;
步骤7:得到基于取模值的REGION编号,通过RIGION编号指引数据加载到对应的REGION中去。
请参阅图5,是对上述步骤5、6、7的详细图示说明。
综上所述,本发明提供的基于hbase的数据散列处理方法及装置通过对接口数据的各数据(块)进行规范化处理,根据各数据(块)的KEY字段生成随机种子,并对各随机种子进行取模,根据取模的结果将各数据(块)分配给编号与取模结果相应的节点中,使数据(块)均匀的存储至各集群节点中,均摊各节点的访问压力,提高节点访问效率。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
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的数据散列处理装置,其特征在于,包括第一加载模块、转换模块、取模模块和第二加载模块;
所述第一加载模块用于将hbase的接口文件加载到HDFS分布式文件存储或装置中;
所述转换模块用于将所述接口文件转换成HFILE存储格式;获取规范化处理后的接口文件中的各数据的KEY字段;
所述取模模块用于根据每个KEY字段分别生成随机种子,并以hbase的物理存储节点的总数为除数对每个随机种子进行取模,获得节点编号;
所述第二加载模块用于分别将每个KEY字段所对应的数据加载至节点编号所对应的物理存储节点。
7.根据权利要求6所述的基于hbase的数据散列处理装置,其特征在于,所述取模模块根据每个KEY字段生成随机种子的方法为平方取中法。
8.根据权利要求6所述的基于hbase的数据散列处理装置,其特征在于,所述取模模块根据每个KEY字段生成随机种子的方法为线性取余法。
9.根据权利要求7或8所述的基于hbase的数据散列处理装置,其特征在于,所述接口文件为手机上网日志数据。
10.根据权利要求9所述的基于hbase的数据散列处理装置,其特征在于,所述数据的KEY字段为手机号码字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410471421.2A CN104252535A (zh) | 2014-09-16 | 2014-09-16 | 一种基于hbase的数据散列处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410471421.2A CN104252535A (zh) | 2014-09-16 | 2014-09-16 | 一种基于hbase的数据散列处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104252535A true CN104252535A (zh) | 2014-12-31 |
Family
ID=52187425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410471421.2A Pending CN104252535A (zh) | 2014-09-16 | 2014-09-16 | 一种基于hbase的数据散列处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104252535A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704173A (zh) * | 2014-11-25 | 2016-06-22 | 中国移动通信集团福建有限公司 | 一种集群系统数据分布方法及服务器 |
CN108255966A (zh) * | 2017-12-25 | 2018-07-06 | 太极计算机股份有限公司 | 一种数据迁移方法及存储介质 |
CN112818047A (zh) * | 2021-01-25 | 2021-05-18 | 中国铁塔股份有限公司 | 基于分布式数据库的数据存储方法、装置及电子设备 |
CN113590703A (zh) * | 2021-08-10 | 2021-11-02 | 平安银行股份有限公司 | Es数据导入方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235606A1 (en) * | 2009-03-11 | 2010-09-16 | Oracle America, Inc. | Composite hash and list partitioning of database tables |
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的系统及方法 |
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN103617211A (zh) * | 2013-11-20 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种HBase加载数据的导入方法 |
-
2014
- 2014-09-16 CN CN201410471421.2A patent/CN104252535A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100235606A1 (en) * | 2009-03-11 | 2010-09-16 | Oracle America, Inc. | Composite hash and list partitioning of database tables |
CN102521405A (zh) * | 2011-12-26 | 2012-06-27 | 中国科学院计算技术研究所 | 支持高速加载的海量结构化数据存储、查询方法和系统 |
CN103186651A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 一种分布式关系数据库及其建立、查询方法和装置 |
CN102542071A (zh) * | 2012-01-17 | 2012-07-04 | 深圳市同洲视讯传媒有限公司 | 一种分布式处理数据的系统及方法 |
CN103617211A (zh) * | 2013-11-20 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种HBase加载数据的导入方法 |
Non-Patent Citations (2)
Title |
---|
周泓 等: "《生产系统建模与仿真》", 30 September 2012 * |
邢屹: ""大规模键值分布式存储系统的设计与实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704173A (zh) * | 2014-11-25 | 2016-06-22 | 中国移动通信集团福建有限公司 | 一种集群系统数据分布方法及服务器 |
CN105704173B (zh) * | 2014-11-25 | 2019-06-21 | 中国移动通信集团福建有限公司 | 一种集群系统数据分布方法及服务器 |
CN108255966A (zh) * | 2017-12-25 | 2018-07-06 | 太极计算机股份有限公司 | 一种数据迁移方法及存储介质 |
CN112818047A (zh) * | 2021-01-25 | 2021-05-18 | 中国铁塔股份有限公司 | 基于分布式数据库的数据存储方法、装置及电子设备 |
CN113590703A (zh) * | 2021-08-10 | 2021-11-02 | 平安银行股份有限公司 | Es数据导入方法、装置、电子设备及可读存储介质 |
CN113590703B (zh) * | 2021-08-10 | 2023-11-07 | 平安银行股份有限公司 | Es数据导入方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102284972B1 (ko) | 데이터 처리 방법 및 디바이스 | |
CN104348679B (zh) | 一种分桶测试的方法、装置和系统 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
CN106970929B (zh) | 数据导入方法及装置 | |
CN104252535A (zh) | 一种基于hbase的数据散列处理方法及装置 | |
Wang et al. | Management of big data in the internet of things in agriculture based on cloud computing | |
WO2014082198A1 (en) | Multiple fields parallel query method and corresponding storage organization | |
CN103559229A (zh) | 基于MapFile的小文件管理服务SFMS系统及其使用方法 | |
CN104424331A (zh) | 数据抽样方法及装置 | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN104376109A (zh) | 一种基于数据分布库的多维度数据分布方法 | |
CN112035531A (zh) | 敏感数据处理方法、装置、设备及介质 | |
US20200159594A1 (en) | Systems and methods for dynamic partitioning in distributed environments | |
WO2014098662A1 (en) | Exposing data to query generating applications using usage profiles | |
Kim et al. | A study on utilization of spatial information in heterogeneous system based on apache nifi | |
US20170371892A1 (en) | Systems and methods for dynamic partitioning in distributed environments | |
CN110019205A (zh) | 一种数据存储、还原方法、装置及计算机设备 | |
CN103605770A (zh) | 网页模板生成方法和服务器 | |
CN106648839A (zh) | 数据处理的方法和装置 | |
Xie et al. | On massive spatial data retrieval based on spark | |
CN106776255A (zh) | 智能电视系统的日志提取方法及装置 | |
Lee et al. | SearchaStore: Fast and secure searchable cloud services | |
CN106446039B (zh) | 聚合式大数据查询方法及装置 | |
Perozzi et al. | Scalable graph clustering with parallel approximate PageRank | |
CN105488056B (zh) | 一种对象处理方法与设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141231 |
|
RJ01 | Rejection of invention patent application after publication |