CN107085622A - 一种将数据从Hive导入传统数据仓库的方法及装置 - Google Patents
一种将数据从Hive导入传统数据仓库的方法及装置 Download PDFInfo
- Publication number
- CN107085622A CN107085622A CN201710452217.XA CN201710452217A CN107085622A CN 107085622 A CN107085622 A CN 107085622A CN 201710452217 A CN201710452217 A CN 201710452217A CN 107085622 A CN107085622 A CN 107085622A
- Authority
- CN
- China
- Prior art keywords
- data
- hive
- data warehouse
- traditional
- traditional data
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- 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
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
本发明公开了一种将数据从Hive导入传统数据仓库的方法,包括继承Hive中的基础类,并根据用户输入的参数编写新类;依据参数在新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。由此可见,将数据导入传统数据仓库传统数据仓库的过程中,本方法无需指明HDFS和行、列分隔符,且能够克服软件编写繁琐的问题。此外,本发明还公开一种将数据从Hive导入传统数据仓库的装置,效果如上所述。
Description
技术领域
本发明涉及数据传输技术领域,特别是涉及一种将数据从Hive导入传统数据仓库的方法及装置。
背景技术
随着互联网技术的普及以及现代企业对于数据的重视,企业日常经营过程中记录的数据量呈指数级增长,因此,通常采用数据仓库来存储数据。传统的数据仓库(例如,MySQL、Oracle、Postgres等)在数据量过大时将会导致提取数据缓慢。在此基础上,采用Hadoop(一种分布式系统基础架构)+Hive的数据仓库模式,使得数据仓库在数据量上不再有限制,在一定程度上解决了上述问题,但也有灵活性不足的缺点。
因此,现有技术中,将该模式的数据仓库与传统数据仓库结合使用,只将存储、基本分析、提取放在Hadoop+Hive的数据仓库上,更为复杂的放在传统数据仓库中,二者可以互为补充。
为了实现上述两种数据仓库的数据传输,企业需要利用一种便捷的数据传输工具或方法将数据在企业内不同数据仓库之间进行传输。现有的传输工具Sqoop是实现不同数据仓库之间数据导入导出的一个工具。但是,这种方法在软件编写过程中较为繁琐,且需要明确指明HDFS和明确标明行、列分隔符。
由此可见,在将数据导入传统数据仓库的过程中,如何克服软件编写繁琐,以及克服需要明确指明HDFS和明确标明行、列分隔符的问题是本领域技术人员亟待解决地问题。
发明内容
本发明的目的是提供一种将数据从Hive导入传统数据仓库的方法及装置,用于在将数据导入传统数据仓库的过程中,克服软件编写繁琐,以及克服需要明确指明HDFS和明确标明行、列分隔符的问题。
为解决上述技术问题,本发明提供一种将数据从Hive导入传统数据仓库的方法,包括:
继承Hive中的基础类,并根据用户输入的参数编写新类;
依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;
当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。
优选地,还包括:
在所述数据从Hive导入所述传统数据仓库的过程中,调用Try Catch语句以捕捉错误信息。
优选地,还包括:
当捕捉到所述错误信息时,通过日志记录所述错误信息。
优选地,还包括:
在所述数据从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客户端,用add jar/data/work/task/cmn/UDF.jar命令在Hive客户端中添加UDF.jar;
用CREATE TEMPORARY FUNCTION Hive2MysqlPooled as'com.cmn.transdataHive2MysqlPooled'命令创建临时函数;
(2)使用Select查询对应的Hive中需要导入的数据,使用临时函数调用查出来的数据以便执行将数据导入MySQL的操作。
S12:当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。
当需要进行数据导入时,用户会输入导入指令,可以理解的是,导入指令包含有需要导入的数据。在具体实施中,当接收到导入指令时,就调用Insert语句,从而将数据从Hive导入传统数据仓库中。
本实施例提供的将数据从Hive导入传统数据仓库的方法,包括继承Hive中的基础类,并根据用户输入的参数编写新类;依据参数在新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。由此可见,将数据导入传统数据仓库传统数据仓库的过程中,本方法无需指明HDFS和行、列分隔符,且能够克服软件编写繁琐的问题。
作为优选地实施方式,在上述实施例的基础上,还包括:
在数据从Hive导入传统数据仓库的过程中,调用Try Catch语句以捕捉错误信息。
数据在批量传输过程中,有可能会出现错误,对于传输过程存在的问题,通过调用Try Catch语句,能够方便对传输过程中的错误进行精确定位,从而能够及时修正。可以理解的是,错误信息可以为主键重复、主键为空或SQL语法错误等,本实施例不再赘述。
作为优选地实施方式,在上述实施例的基础上,还包括:
当捕捉到错误信息时,通过日志记录错误信息。
本实施例中,当捕捉到错误信息时,会通过日志记录的方式记录错误信息。用户可以通过查看日志就能够确定当前数据导入过程是否发生异常。
作为优选地实施方式,在上述实施例的基础上,还包括:
在数据从Hive导入传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。
本实施例中,对数据传输量设置一个最大值,使得传输量不至于过大,防止由于传输量过大导致服务器的负载较高而中断或堵塞。当服务器空闲时,可以加大数据传输量的最大值,当服务器繁忙时,可以降低数据传输量的最大值。
在上文中对于将数据从Hive导入传统数据仓库的方法的实施例进行了详细的描述,本发明还提供一种将数据从Hive导入传统数据仓库的装置。装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种将数据从Hive导入传统数据仓库的装置的结构图。如图2所示,将数据从Hive导入传统数据仓库的装置包括:
编写单元10,用于继承Hive中的基础类,并根据用户输入的参数编写新类;
组装单元11,用于依据参数在新类中重构Evaluate函数,并组装Insert语句;
调用单元12,用于当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。
本实施例提供的将数据从Hive导入传统数据仓库的装置,包括继承Hive中的基础类,并根据用户输入的参数编写新类;依据参数在新类中重构Evaluate函数,并组装Insert语句;当接收到用户的导入指令时,调用Insert语句以将数据从Hive导入传统数据仓库中。由此可见,将数据导入传统数据仓库传统数据仓库的过程中,本装置无需指明HDFS和行、列分隔符,且能够克服软件编写繁琐的问题。
作为一种优选地实施方式,还包括:
捕捉单元,用于在数据从Hive导入传统数据仓库的过程中,调用Try Catch语句以捕捉错误信息。
作为一种优选地实施方式,还包括:
记录单元,用于当捕捉到错误信息时,通过日志记录错误信息。
作为一种优选地实施方式,还包括:
设置单元,用于在数据从Hive导入传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。
作为一种优选地实施方式,参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。
以上对本发明所提供的将数据从Hive导入传统数据仓库的方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种将数据从Hive导入传统数据仓库的方法,其特征在于,包括:
继承Hive中的基础类,并根据用户输入的参数编写新类;
依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;
当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述数据从Hive导入所述传统数据仓库的过程中,调用Try Catch语句以捕捉错误信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
当捕捉到所述错误信息时,通过日志记录所述错误信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述数据从Hive导入所述传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。
6.一种将数据从Hive导入传统数据仓库的装置,其特征在于,包括:
编写单元,用于继承Hive中的基础类,并根据用户输入的参数编写新类;
组装单元,用于依据所述参数在所述新类中重构Evaluate函数,并组装Insert语句;
调用单元,用于当接收到用户的导入指令时,调用所述Insert语句以将数据从Hive导入传统数据仓库中。
7.根据权利要求6所述的装置,其特征在于,还包括:
捕捉单元,用于在所述数据从Hive导入所述传统数据仓库的过程中,调用Try Catch语句以捕捉错误信息。
8.根据权利要求7所述的装置,其特征在于,还包括:
记录单元,用于当捕捉到所述错误信息时,通过日志记录所述错误信息。
9.根据权利要求6所述的装置,其特征在于,还包括:
设置单元,用于在所述数据从Hive导入所述传统数据仓库的过程中,依据服务器的忙闲状态设置数据传输量的最大值。
10.根据权利要求6-9任意一项所述的装置,其特征在于,所述参数具体包括:控制连接数据库的字符串、表名、需要入表的字段名。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452217.XA CN107085622A (zh) | 2017-06-15 | 2017-06-15 | 一种将数据从Hive导入传统数据仓库的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710452217.XA CN107085622A (zh) | 2017-06-15 | 2017-06-15 | 一种将数据从Hive导入传统数据仓库的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107085622A true CN107085622A (zh) | 2017-08-22 |
Family
ID=59606719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710452217.XA Pending CN107085622A (zh) | 2017-06-15 | 2017-06-15 | 一种将数据从Hive导入传统数据仓库的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107085622A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222009A (zh) * | 2019-05-28 | 2019-09-10 | 咪咕文化科技有限公司 | 一种Hive入库异常文件自动处理方法及装置 |
CN110851511A (zh) * | 2019-10-09 | 2020-02-28 | 上海易点时空网络有限公司 | 数据同步的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174098A1 (en) * | 2001-05-04 | 2002-11-21 | Lasmsoft Corporation | Method and system for providing a dynamic and real-time exchange between heterogeneous database systems |
CN104239532A (zh) * | 2014-09-19 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | Hive中自制用户提取信息工具的方法和装置 |
-
2017
- 2017-06-15 CN CN201710452217.XA patent/CN107085622A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020174098A1 (en) * | 2001-05-04 | 2002-11-21 | Lasmsoft Corporation | Method and system for providing a dynamic and real-time exchange between heterogeneous database systems |
CN104239532A (zh) * | 2014-09-19 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | Hive中自制用户提取信息工具的方法和装置 |
Non-Patent Citations (1)
Title |
---|
NIITYZU: "《https://blog.csdn.net/NIITYZU/article/details/45227409》", 23 April 2015 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222009A (zh) * | 2019-05-28 | 2019-09-10 | 咪咕文化科技有限公司 | 一种Hive入库异常文件自动处理方法及装置 |
CN110222009B (zh) * | 2019-05-28 | 2021-08-06 | 咪咕文化科技有限公司 | 一种Hive入库异常文件自动处理方法及装置 |
CN110851511A (zh) * | 2019-10-09 | 2020-02-28 | 上海易点时空网络有限公司 | 数据同步的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268253B (zh) | 接口代码生成方法及终端设备 | |
CN108536761B (zh) | 报表数据查询方法及服务器 | |
CN107273286B (zh) | 针对任务应用的场景自动化测试平台及方法 | |
CN109597761A (zh) | 一种基于Jmeter的接口自动化测试方法 | |
EP2778929B1 (en) | Test script generation system | |
CN104580451B (zh) | 实现多平台间账号同步的方法和系统、及电子设备 | |
US7661103B2 (en) | Apparatus, system, and method for decentralized data conversion | |
US20050251812A1 (en) | Data conversion system, method, and apparatus | |
CN107171897A (zh) | 一种接口测试方法及数据接口测试系统 | |
CN108376171A (zh) | 大数据快速导入的方法、装置、终端设备及存储介质 | |
CN107085622A (zh) | 一种将数据从Hive导入传统数据仓库的方法及装置 | |
CN112559348B (zh) | 基于jacoco的测试分析方法、系统、设备以及介质 | |
CN108268374A (zh) | 软件版本测试方法、装置、终端设备及存储介质 | |
CN111381863B (zh) | 基于区块链技术的app交易及自动化上线方法及上线系统 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
CN112256670A (zh) | 数据迁移方法、终端设备及可读存储介质 | |
CN104408118A (zh) | 数据库的创建方法和装置 | |
CN109101244A (zh) | 一种ios系统一体化自动打包方法 | |
CN112700083A (zh) | 构建资源综合利用和服务指数指标体系场景的方法及装置 | |
CN104915193A (zh) | 一种流程引擎的处理方法和装置 | |
WO2019214014A1 (zh) | 网销产品管理方法、装置、终端设备及存储介质 | |
CN108897551A (zh) | 一种资源引用关系树的生成方法及装置 | |
CN108229115A (zh) | 一种鉴权方法及装置 | |
CN107786308B (zh) | 数据传输方法及终端设备 | |
CN104536750B (zh) | 遍历窗口对象的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
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: 20170822 |