一种基于HBase数据库的海量数据快速导入方法技术

技术编号:11307845 阅读:103 留言:0更新日期:2015-04-16 03:30
提出一种基于HBase的海量数据快速导入方法,基于HBase数据库中表的格式,对数据源中的数据进行拆分;基于数据源中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区;设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小;启用多线程,将所述数据导入HBase数据库的表中。所述方法不需要对数据源进行预处理,方便操作,提高了效率。

【技术实现步骤摘要】
【专利摘要】提出一种基于HBase的海量数据快速导入方法,基于HBase数据库中表的格式,对数据源中的数据进行拆分;基于数据源中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区;设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小;启用多线程,将所述数据导入HBase数据库的表中。所述方法不需要对数据源进行预处理,方便操作,提高了效率。【专利说明】
本专利技术涉及大数据处理
,具体涉及一种基于HBase的海量数据快速导入方法。
技术介绍
随着人类社会全面进入信息时代,数据成为与水、石油同等重要的战略资源。通过挖掘海量数据,能够使政府和企业的运行决策建立在更加科学的依据基础上,提高决策效率、危机应对能力和公共服务水平。大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到擷取、管理、处理、并整理成为帮助企业经营决策更积极目的的资讯。大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘电网、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。 HBase是一个分布式的、面向列的开源数据库,该技术来源于Fay Chang所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase (Hadoop Database)是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。HBase在处理大数据问题上拥有很大优势,越来越多的实际应用将迀移到HBase中。但是,传统的数据源与HBase存在一定差异,如何将传统数据导入至HBase成为一个棘手问题。
技术实现思路
为了解决上述现有技术中存在的问题,本专利技术提出一种基于HBase的海量数据快速导入方法,包括: S1.基于HBase数据库中表的格式,对数据源中的数据进行拆分; S2.基于数据源中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区; S3.设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小; S4.启用多线程,将所述数据导入HBase数据库,流程结束。 特别地: 根据所述数据的重要性设置所述预写日志系统,若所述数据非常重要,则将所述预写日志系统设置为不关闭,若所述数据不重要,则将所述预写日志系统设置为关闭。 特别地: 根据实现所述HBase数据库的计算机硬件性能设置所述缓存大小。 特别地: 根据所述计算机硬件的中央处理单元CPU性能,或内存大小确定需要启动的所述线程的数量。 本专利技术的有益效果是:不需要对数据源进行预处理,方便操作,提高了效率。本专利技术实现为java类,调用了 Hadoop和HBase中的基类,在大量实验的基础上,通过控制变量方法,得出了一套最高效快速的导入数据方法。通过关闭预写日志系统(WAL)该功能主要用于持久化数据,保证异常情况下可以恢复数据,关闭自动提交功能(AutoFlush),调优自动提交缓存大小(AutoFlushSize),多线程插入,预分区域(Reg1n)等进行优化。经过实验表明,从文本中导入HBase大约IG数据¢000000条),未采取任何优化的情况下大约需要200分钟,采用该方法大约需要15分钟,性能提升了 12倍。 【专利附图】【附图说明】 图1本专利技术提出方法的流程示意图; 图2为本专利技术提出的HBase预分区示意图。 【具体实施方式】 下面结合附图对本专利技术提出的技术方案进行详细说明。 参见图1,其示出了本专利技术提出的方法流程图,包括: 1.分析数据源格式,进行数据清洗 将数据拆分,对应HBase中的表结构,方便插入。 2.划分预分区Reg1n 参见图2,其示出了本专利技术提出的预分区示意图。根据数据源的大小,行键(Rowkey)的设计,在建表时候进行预分区。 3.关闭预写日志系统WAL,关闭自动提交功能AutoFlush,设置缓存大小BufferSize。此步骤根据实际情况进行,如果数据非常重要则不要关闭WAL,同时调整BufferSize需要根据自己计算机的硬件条件。 4.启用多线程 根据第二步中对数据源的掌握,合理启动线程数量,进行数据导入。线程分配时,需要根据物理主机的性能,例如CPU,内存大小。【权利要求】1.一种基于HBase的海量数据快速导入方法,包括: 51.基于HBase数据库中表的格式,对数据源中的数据进行拆分; 52.基于数据源中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区; 53.设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小; 54.启用多线程,将所述数据导入HBase数据库的表中,流程结束。2.如权利要求1所述的方法,其特征在于: 根据所述数据的重要性设置所述预写日志系统,若所述数据非常重要,则将所述预写日志系统设置为不关闭,若所述数据不重要,则将所述预写日志系统设置为关闭。3.如权利要求1所述的方法,其特征在于: 根据实现所述HBase数据库的计算机硬件性能设置所述缓存大小。4.如权利要求1所述的方法,其特征在于: 根据所述计算机硬件的中央处理单元CPU性能和/或内存大小,确定需要启动的所述线程的数量。【文档编号】G06F17/30GK104516985SQ201510020951【公开日】2015年4月15日 申请日期:2015年1月15日 优先权日:2015年1月15日 【专利技术者】范荣盛, 辛国茂, 赵仁明, 金洪殿 申请人:浪潮(北京)电子信息产业有限公司本文档来自技高网
...

【技术保护点】
一种基于HBase的海量数据快速导入方法,包括:S1.基于HBase数据库中表的格式,对数据源中的数据进行拆分;S2.基于数据源中数据量的大小和HBase数据库中行键的设计,在建立所述表的时候进行预分区;S3.设置HBase数据库的预写日志系统,关闭自动提交功能,设置缓存大小;S4.启用多线程,将所述数据导入HBase数据库的表中,流程结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:范荣盛辛国茂赵仁明金洪殿
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1