CN106897450A - 一种基于HDFS海量数据快速导入HBase的方法 - Google Patents

一种基于HDFS海量数据快速导入HBase的方法 Download PDF

Info

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
Application number
CN201710124754.1A
Other languages
English (en)
Inventor
乔晋伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710124754.1A priority Critical patent/CN106897450A/zh
Publication of CN106897450A publication Critical patent/CN106897450A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/1827Management 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的方法
技术领域
本发明属于数据处理技术领域,具体涉及一种基于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查找所需数据。
CN201710124754.1A 2017-03-03 2017-03-03 一种基于HDFS海量数据快速导入HBase的方法 Pending CN106897450A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浪潮集团有限公司 一种快速导入海量数据的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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