一种将数据从Hive导入传统数据仓库的方法及装置制造方法及图纸

技术编号:16064176 阅读:118 留言:0更新日期:2017-08-22 16:42
本发明专利技术公开了一种将数据从Hive导入传统数据仓库的方法,包括继承Hive中的基础类,并根据用户输入的参数编写新类;依据参数在新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。由此可见,将数据导入传统数据仓库传统数据仓库的过程中,本方法无需指明HDFS和行、列分隔符,且能够克服软件编写繁琐的问题。此外,本发明专利技术还公开一种将数据从Hive导入传统数据仓库的装置,效果如上所述。

Method and device for importing data from traditional data warehouse from Hive

The invention discloses a method of data from the Hive into the traditional data warehouse, including inherited base class Hive, and according to user input parameters for the preparation of a new kind of parameters in the new class; reconstruction of Evaluate function, and assemble the Insert statement; when receiving user import instructions, calling the Insert statement to the data from the Hive into the traditional data warehouse. Thus, in the process of importing data into the traditional data warehouse traditional data warehouse, the method does not need to specify HDFS and row and column separators, and can overcome the tedious problem of software writing. In addition, the invention also discloses a device for importing data from a Hive into a traditional data warehouse, the effect as described above.

【技术实现步骤摘要】
一种将数据从Hive导入传统数据仓库的方法及装置
本专利技术涉及数据传输
,特别是涉及一种将数据从Hive导入传统数据仓库的方法及装置。
技术介绍
随着互联网技术的普及以及现代企业对于数据的重视,企业日常经营过程中记录的数据量呈指数级增长,因此,通常采用数据仓库来存储数据。传统的数据仓库(例如,MySQL、Oracle、Postgres等)在数据量过大时将会导致提取数据缓慢。在此基础上,采用Hadoop(一种分布式系统基础架构)+Hive的数据仓库模式,使得数据仓库在数据量上不再有限制,在一定程度上解决了上述问题,但也有灵活性不足的缺点。因此,现有技术中,将该模式的数据仓库与传统数据仓库结合使用,只将存储、基本分析、提取放在Hadoop+Hive的数据仓库上,更为复杂的放在传统数据仓库中,二者可以互为补充。为了实现上述两种数据仓库的数据传输,企业需要利用一种便捷的数据传输工具或方法将数据在企业内不同数据仓库之间进行传输。现有的传输工具Sqoop是实现不同数据仓库之间数据导入导出的一个工具。但是,这种方法在软件编写过程中较为繁琐,且需要明确指明HDFS和明确标明行、列分隔符。由此可见,在将数据导入传统数据仓库的过程中,如何克服软件编写繁琐,以及克服需要明确指明HDFS和明确标明行、列分隔符的问题是本领域技术人员亟待解决地问题。
技术实现思路
本专利技术的目的是提供一种将数据从Hive导入传统数据仓库的方法及装置,用于在将数据导入传统数据仓库的过程中,克服软件编写繁琐,以及克服需要明确指明HDFS和明确标明行、列分隔符的问题。为解决上述技术问题,本专利技术提供一种将数据从Hive导入传统数据仓库的方法,包括:继承Hive中的基础类,并根据用户输入的参数编写新类;依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。优选地,还包括:在所述数据从Hive导入所述传统数据仓库的过程中,调用TryCatch语句以捕捉错误信息。优选地,还包括:当捕捉到所述错误信息时,通过日志记录所述错误信息。优选地,还包括:在所述数据从Hive导入所述传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。优选地,所述参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。为解决上述技术问题,本专利技术还提供一种将数据从Hive导入传统数据仓库的装置,包括:编写单元,用于继承Hive中的基础类,并根据用户输入的参数编写新类;组装单元,用于依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;调用单元,用于当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。优选地,还包括:捕捉单元,用于在所述数据从Hive导入所述传统数据仓库的过程中,调用TryCatch语句以捕捉错误信息。优选地,还包括:记录单元,用于当捕捉到所述错误信息时,通过日志记录所述错误信息。优选地,还包括:设置单元,用于在所述数据从Hive导入所述传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。优选地,所述参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。本专利技术所提供的将数据从Hive导入传统数据仓库的方法,包括继承Hive中的基础类,并根据用户输入的参数编写新类;依据参数在新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。由此可见,将数据导入传统数据仓库传统数据仓库的过程中,本方法无需指明HDFS和行、列分隔符,且能够克服软件编写繁琐的问题。此外,本专利技术还提供一种将数据从Hive导入传统数据仓库的装置,效果如上所述。附图说明为了更清楚地说明本专利技术实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种将数据从Hive导入传统数据仓库的方法的流程图;图2为本专利技术实施例提供的一种将数据从Hive导入传统数据仓库的装置的结构图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本专利技术保护范围。本专利技术的核心是提供一种将数据从Hive导入传统数据仓库的方法及装置,用于在将数据导入传统数据仓库的过程中,克服软件编写繁琐,以及克服需要明确指明HDFS和明确标明行、列分隔符的问题。为了使本
的人员更好地理解本专利技术方案,下面结合附图和具体实施方式对本专利技术作进一步的详细说明。图1为本专利技术实施例提供的一种将数据从Hive导入传统数据仓库的方法的流程图。如图1所示,将数据从Hive导入传统数据仓库的方法包括:S10:继承Hive中的基础类,并根据用户输入的参数编写新类。可以理解的是,Hive中具有基础类,用于实现通用的功能,例如开机、关机等。而本实施例中需要实现的功能是将数据从Hive中导入至传统数据仓库,因此,需要根据用户输入的参数对基础类进行再次编写,得到新类。后文中的步骤,就是在这个新类中实现。由于Hive中有表,是按照一列一列的方式记载的,因此,按照该表的方式就无需指明HDFS和行、列分隔符。作为优选地实施方式,参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。可以理解的是,上述几个参数只是一种具体的应用场景,并不代表只能是这几个参数。其他参数对应的实施例,本专利技术不再赘述。S11:依据参数在新类中重构Evaluate函数,并组装Insert语句。在步骤S10得到的新类中,对新类中的Evaluate函数进行重构,并组装Insert语句。此步骤完成了整个数据导入的前期工作,相当于对一个软件进行了打包操作。对于客户端来说,只需要将这一软件下载下来,进行相应的操作即可,具体使用方法如下(以传统数据仓库为MySQL为例说明):(1)在Hive客户端上配置环境,包括:启动Hive客户端,用addjar/data/work/task/cmn/UDF.jar命令在Hive客户端中添加UDF.jar;用CREATETEMPORARYFUNCTIONHive2MysqlPooledas'com.cmn.transdataHive2MysqlPooled'命令创建临时函数;(2)使用Select查询对应的Hive中需要导入的数据,使用临时函数调用查出来的数据以便执行将数据导入MySQL的操作。S12:当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。当需要进行数据导入时,用户会输入导入指令,可以理解的是,导入指令包含有需要导入的数据。在具体实施中,当接收到导入指令时,就调用Insert语句,从而将数据从Hive导入传统数据仓库中。本实施例提供的将数据从Hive导入传统数据仓库的方法,包括继承H本文档来自技高网
...
一种将数据从Hive导入传统数据仓库的方法及装置

【技术保护点】
一种将数据从Hive导入传统数据仓库的方法,其特征在于,包括:继承Hive中的基础类,并根据用户输入的参数编写新类;依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。

【技术特征摘要】
1.一种将数据从Hive导入传统数据仓库的方法,其特征在于,包括:继承Hive中的基础类,并根据用户输入的参数编写新类;依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。2.根据权利要求1所述的方法,其特征在于,还包括:在所述数据从Hive导入所述传统数据仓库的过程中,调用TryCatch语句以捕捉错误信息。3.根据权利要求2所述的方法,其特征在于,还包括:当捕捉到所述错误信息时,通过日志记录所述错误信息。4.根据权利要求1所述的方法,其特征在于,还包括:在所述数据从Hive导入所述传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。5.根据权利要求1-4任意一项所述的方法,其特征在于,所述参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。6.一种将数据从Hive导入传统数据仓库的...

【专利技术属性】
技术研发人员:王黎肖宇涵
申请(专利权)人:浙江极赢信息技术有限公司
类型:发明
国别省市:浙江,33

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

1