[发明专利]一种基于HDFS海量数据快速导入HBase的方法在审
申请号: | 201710124754.1 | 申请日: | 2017-03-03 |
公开(公告)号: | CN106897450A | 公开(公告)日: | 2017-06-27 |
发明(设计)人: | 乔晋伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 济南舜源专利事务所有限公司37205 | 代理人: | 张亮 |
地址: | 450000 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hdfs 海量 数据 快速 导入 hbase 方法 | ||
技术领域
本发明属于数据处理技术领域,具体涉及一种基于HDFS海量数据快速导入HBase的方法。
背景技术
在社会快速发展的今天,各行各业每天都会产生大量的数据,数据来源囊括了我们周围可以捕获的任何类型数据,网站、社交媒体、交易型商业数据以及其它商业环境中创建的数据。面对海量数据,将数据进行快速存储利用尤为重要,可以使用编程模型MapReduce直接向HBase导入数据,但海量的数据集会使得MapReduce Job作业也变得很繁重。若处理不当,则可能使得MapReduce的job运行时的吞吐量很小,也可以使用HBase的API中的Put方法,用法也很容易学习和操作,但针对大部分情况,它并非都是最高效的方式。当需要将海量数据在规定时间内载入HBase中时,效率问题体现得尤为明显。
发明内容
本发明的目的在于,针对上述现有技术存在的缺陷,提供设计一种基于HDFS海量数据快速导入HBase的方法,以解决上述技术问题。
为了达到上述目的,本发明提供的技术方案为:
一种基于HDFS海量数据快速导入HBase的方法,其特征在于,包括以下步骤:
步骤1:从数据源提取数据并以流的方式上传到HDFS;
步骤2:用编程模型对数据进行筛选运算和处理,生成HBase的底层数据存储的文件HFile;
步骤3:判断HBase数据库中是否有HBase表;若没有,在HBase数据库建HBase表,并在建表时对所建的HBase表进行预分区,若有,执行步骤4;
步骤4:将文件在HDFS上的位置传递给区域服务器Region Servers,利用Region Server将数据导入到相应分区目录下,完成与HBase表的关联,实现数据导入。
步骤2的实现过程为:用编程模型Map Reduce作业准备数据,第一个作业运行业务处理逻辑,处理结果写入到HDFS上的中间目录下,第二个作业以第一个作业的输出作为输入,生成HBase的底层数据存储的文件HFile。
编程模型Map Reduce作业使用行键作为输出Key,KeyValue或者Put作为输出Value类型,当导入的数据有多列时使用Put,只有一个列时使用KeyValue。
创建表时对表进行预分区,设置Reduce数等于分区数Region,分区时利用每个分区的端值startKey、endKey进行行键区间划分。
根据对象的行主键确定对象所述的区域服务器。
数据源包括文本文件或其他数据库。
建HBase表的同时建对应的索引表,将HBase表中涉及条件过滤的字段和行键在Solr搜索应用服务器中建立索引,通过Solr的多条件查询快速获得符合过滤条件的行键值,根据此行键关联HBase表行键,在HBase表的Region查找所需数据。
本发明的有益效果在于,
利用MapReduce作业输出HBase的内部数据存储格式文件,然后将生成的数据文件直接与HBase表做关联,实现数据导入。与使用HBase API相比,使用本发明方式导入数据占用更少的CPU和网络资源;实现方法高效便捷,在导入过程不占用Region资源,而且在大数据写入时能极大的提高写入效率,提高了Job的运行速度,节省内存。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著地进步,其实施的有益效果也是显而易见的。
附图说明
图1为一种基于HDFS海量数据快速导入HBase的方法结构框图。
图2为建立HBase表对应索引的流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明进行详细阐述,以下实施例是对本发明的解释,而本发明并不局限于以下实施方式。
如图1所示,本实施例提供的一种基于HDFS海量数据快速导入HBase的方法,包括以下步骤:
步骤1:从数据源提取数据并以流的方式上传到HDFS;
步骤2:用编程模型对数据进行筛选运算和处理,生成HBase的底层数据存储的文件HFile;
步骤3:判断HBase数据库中是否有HBase表;若没有,在HBase数据库建HBase表,并在建表时对所建的HBase表进行预分区,若有,执行步骤4;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710124754.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:排序方法及装置
- 下一篇:一种基于专利信息的社交网络平台系统及智能社交方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置