CN106897450A - 一种基于HDFS海量数据快速导入HBase的方法 - Google Patents
一种基于HDFS海量数据快速导入HBase的方法 Download PDFInfo
- Publication number
- CN106897450A CN106897450A CN201710124754.1A CN201710124754A CN106897450A CN 106897450 A CN106897450 A CN 106897450A CN 201710124754 A CN201710124754 A CN 201710124754A CN 106897450 A CN106897450 A CN 106897450A
- Authority
- CN
- China
- Prior art keywords
- hbase
- hdfs
- data
- introduced based
- quickly introduced
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- 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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
- G06F16/1827—Management specifically adapted to NAS
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于HDFS海量数据快速导入HBase的方法,其特征在于,包括以下步骤:步骤1:从数据源提取数据并以流的方式上传到HDFS;步骤2:用编程模型对数据进行筛选运算和处理,生成HBase的底层数据存储的文件HFile;步骤3:判断HBase数据库中是否有HBase表;若没有,在HBase数据库建HBase表,并在建表时对所建的HBase表进行预分区,若有,执行步骤4;步骤4:将文件在HDFS上的位置传递给区域服务器Region Servers,利用Region Server将数据导入到相应分区目录下,完成与HBase表的关联,实现数据导入。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种基于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,利用RegionServer将数据导入到相应分区目录下,完成与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;
步骤4:将文件在HDFS上的位置传递给区域服务器Region Servers,利用RegionServer将数据导入到相应分区目录下,完成与HBase表的关联,实现数据导入。
步骤2的实现过程为:用编程模型Map Reduce作业准备数据,第一个作业运行业务处理逻辑,处理结果写入到HDFS上的中间目录下,第二个作业以第一个作业的输出作为输入,生成HBase的底层数据存储的文件HFile。
编程模型Map Reduce作业使用行键作为输出Key,KeyValue或者Put作为输出Value类型,当导入的数据有多列时使用Put,只有一个列时使用KeyValue。
创建表时对表进行预分区,设置Reduce数等于分区数Region,分区时利用每个分区的端值startKey、endKey进行行键区间划分。
根据对象的行主键确定对象所述的区域服务器。
数据源包括文本文件或其他数据库。
建HBase表的同时建对应的索引表,将HBase表中涉及条件过滤的字段和行键在Solr搜索应用服务器中建立索引如图2所示,通过Solr的多条件查询快速获得符合过滤条件的行键值,根据此行键关联HBase表行键,在HBase表的Region查找所需数据。
以上公开的仅为本发明的优选实施方式,但本发明并非局限于此,任何本领域的技术人员能思之的没有创造性的变化,以及在不脱离本发明原理前提下所作的若干改进和润饰,都应落在本发明的保护范围内。
Claims (9)
1.一种基于HDFS海量数据快速导入HBase的方法,其特征在于,包括以下步骤:
步骤1:从数据源提取数据并以流的方式上传到HDFS;
步骤2:用编程模型对数据进行筛选运算和处理,生成HBase的底层数据存储的文件HFile;
步骤3:判断HBase数据库中是否有HBase表;若没有,在HBase数据库建HBase表,并在建表时对所建的HBase表进行预分区,若有,执行步骤4;
步骤4:将文件在HDFS上的位置传递给区域服务器Region Servers,利用RegionServer将数据导入到相应分区目录下,完成与HBase表的关联,实现数据导入。
2.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,步骤2的实现过程为:用编程模型Map Reduce作业准备数据,第一个作业运行业务处理逻辑,处理结果写入到HDFS上的中间目录下,第二个作业以第一个作业的输出作为输入,生成HBase的底层数据存储的文件HFile。
3.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,创建表时对表进行预分区,设置Reduce数等于分区数Region。
4.根据权利要求2所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,编程模型Map Reduce作业使用行键作为输出Key,KeyValue或者Put作为输出Value类型,当导入的数据有多列时使用Put,只有一个列时使用KeyValue。
5.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,分区时利用每个分区的端值startKey、endKey进行行键区间划分。
6.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,根据对象的行主键确定对象所述的区域服务器。
7.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,数据源包括文本文件或其他数据库。
8.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,建HBase表的同时建对应的索引表,将HBase表中涉及条件过滤的字段和行键在Solr搜索应用服务器中建立索引。
9.根据权利要求1所述的一种基于HDFS海量数据快速导入HBase的方法,其特征在于,通过Solr的多条件查询快速获得符合过滤条件的行键值,根据此行键关联HBase表行键,在HBase表的Region查找所需数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710124754.1A CN106897450A (zh) | 2017-03-03 | 2017-03-03 | 一种基于HDFS海量数据快速导入HBase的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710124754.1A CN106897450A (zh) | 2017-03-03 | 2017-03-03 | 一种基于HDFS海量数据快速导入HBase的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106897450A true CN106897450A (zh) | 2017-06-27 |
Family
ID=59184949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710124754.1A Pending CN106897450A (zh) | 2017-03-03 | 2017-03-03 | 一种基于HDFS海量数据快速导入HBase的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106897450A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108275759A (zh) * | 2018-01-29 | 2018-07-13 | 深圳多诺信息科技有限公司 | 基于神经网络的水处理方法及系统 |
CN112015733A (zh) * | 2020-08-04 | 2020-12-01 | 国家电网有限公司客户服务中心 | 一种电力客服营配业务海量数据存储及快速查询方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617211A (zh) * | 2013-11-20 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种HBase加载数据的导入方法 |
CN104331435A (zh) * | 2014-10-22 | 2015-02-04 | 国家电网公司 | 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法 |
CN104376053A (zh) * | 2014-11-04 | 2015-02-25 | 南京信息工程大学 | 一种基于海量气象数据的存储与检索方法 |
US20150310082A1 (en) * | 2014-04-24 | 2015-10-29 | Luke Qing Han | Hadoop olap engine |
CN105630896A (zh) * | 2015-12-21 | 2016-06-01 | 浪潮集团有限公司 | 一种快速导入海量数据的方法 |
-
2017
- 2017-03-03 CN CN201710124754.1A patent/CN106897450A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617211A (zh) * | 2013-11-20 | 2014-03-05 | 浪潮电子信息产业股份有限公司 | 一种HBase加载数据的导入方法 |
US20150310082A1 (en) * | 2014-04-24 | 2015-10-29 | Luke Qing Han | Hadoop olap engine |
CN104331435A (zh) * | 2014-10-22 | 2015-02-04 | 国家电网公司 | 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法 |
CN104376053A (zh) * | 2014-11-04 | 2015-02-25 | 南京信息工程大学 | 一种基于海量气象数据的存储与检索方法 |
CN105630896A (zh) * | 2015-12-21 | 2016-06-01 | 浪潮集团有限公司 | 一种快速导入海量数据的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108275759A (zh) * | 2018-01-29 | 2018-07-13 | 深圳多诺信息科技有限公司 | 基于神经网络的水处理方法及系统 |
CN112015733A (zh) * | 2020-08-04 | 2020-12-01 | 国家电网有限公司客户服务中心 | 一种电力客服营配业务海量数据存储及快速查询方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021083239A1 (zh) | 一种进行图数据查询的方法、装置、设备及存储介质 | |
CN106897322B (zh) | 一种数据库和文件系统的访问方法和装置 | |
CN104331435B (zh) | 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法 | |
WO2015106711A1 (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
WO2017019879A1 (en) | Multi-query optimization | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN106970929B (zh) | 数据导入方法及装置 | |
WO2016165482A1 (zh) | 一种文件传输方法和装置 | |
US9569486B2 (en) | System and a method for hierarchical data column storage and efficient query processing | |
WO2017096892A1 (zh) | 索引构建方法、查询方法及对应装置、设备、计算机存储介质 | |
CN103617211A (zh) | 一种HBase加载数据的导入方法 | |
CN106611037A (zh) | 用于分布式图计算的方法与设备 | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN103729453A (zh) | 一种HBase表联合查询优化的方法 | |
CN103942108B (zh) | Hadoop同构集群下的资源参数优化方法 | |
CN106778079A (zh) | 一种基于MapReduce的DNA序列k‑mer频次统计方法 | |
WO2015074477A1 (zh) | 路径分析方法和装置 | |
Bala et al. | P-ETL: Parallel-ETL based on the MapReduce paradigm | |
US20170053023A1 (en) | System to organize search and display unstructured data | |
CN105320746A (zh) | 一种基于大数据的索引获取方法及系统 | |
CN105610899A (zh) | 一种文本文件并行上传方法及装置 | |
US20150172369A1 (en) | Method and system for iterative pipeline | |
CN107423321B (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN106897450A (zh) | 一种基于HDFS海量数据快速导入HBase的方法 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170627 |