[发明专利]一种控制数据传输的方法和连接器有效
申请号: | 201210289213.1 | 申请日: | 2012-08-14 |
公开(公告)号: | CN102855297A | 公开(公告)日: | 2013-01-02 |
发明(设计)人: | 伍芬尧;金晨 | 申请(专利权)人: | 北京高森明晨信息科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张耀光 |
地址: | 100020 北京市朝阳区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 控制 数据传输 方法 连接器 | ||
技术领域
本发明涉及数据传输领域,特别涉及一种控制数据传输的方法和连接器。
背景技术
随着企业要存储和分析处理的数据量越来越大,Hadoop越来越受到重视,Hadoop是一个分布式系统基础架构,是Apache软件基金会的开源项目。由于Hadoop在可伸缩性、健壮性、计算性能和成本上具有无可替代的优势,事实上已成为当前主流的大数据存储和分析平台。存储由HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)实现,处理由MapReduce实现。
关系型数据库和Hadoop可以通过连接器进行数据相互转移,通过连接器可以将一个关系型数据库中的数据导进到Hadoop的HDFS或HBase(Hadoop Database,Hadoop数据库)中,也可以将HDFS或HBase的数据导进到关系型数据库中。
Sqoop是Cloudera公司提供的一种开源连接器,利用Sqoop我们可以通过命令行来进行数据的导入或导出,以下为Sqoop进行数据导入及导出的原理:
(一)Sqoop从关系型数据库向Hadoop导入数据
Sqoop是通过一个MapReduce作业从关系型数据库向Hadoop导入表,其中,每一个MapReduce作业可以包括多个Map任务,这个MapReduce作业从关系型数据库的表中抽取记录,然后将记录写入HDFS。
图1演示了Sqoop是如何与源数据库及Hadoop进行交互的。在导入开始之前,Sqoop首先检查关系型数据库中将要导入的表,它检索出表中所有的列以及列的SQL(Structured Query Language,结构化查询语言)数据类型,这些SQL类型被映射到Java数据类型,在MapReduce作业中将使用这些对应的Java类型来保存字段的值,Sqoop的代码生成器使用这些信息来创建对应表的类,这些类用于保存从表中抽取的记录,然后通过一个MapReduce作业的多个Map任务将关系型数据库中的数据导入到Hadoop的HDFS中。
(二)Sqoop从Hadoop向关系型数据库导入数据
参见图2,在导入开始之前,Sqoop同样需要检查关系型数据库中的表,然后根据关系型数据库中目标表的定义生成一个Java类,这个生成的类能够从文本文件中解析记录,并能够向目标表中插入相应类型的值。接着会启动一个MapReduce作业,通过MapReduce作业中的多个Map任务从Hadoop中的HDFS中读取源数据文件,然后使用生成的类解析记录,并且执行选定的导出方法,将Hadoop的HDFS中的数据导入到关系型数据库中。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有的连接器在Hadoop与关系型数据库之间传输数据时会给关系型数据库带来很大负载,而这些关系型数据库可能同时承载着其它业务,因此,连接器的数据传输出会对关系型数据库的其他业务造成一定的影响,特别是在进行频繁传输数据的场景。
发明内容
为了减小了连接器在Hadoop与关系型数据库之间数据传输时对关系型数据库的其它业务造成的影响,本发明实施例提供了一种控制数据传输的方法和连接器。所述技术方案如下:
一方面,提供了一种控制数据传输的方法,所述方法包括:
当Hadoop与关系型数据库进行数据传输时,连接器获取所述关系型数据库所在的服务器的负载信息;
所述连接器根据所述负载信息控制所述数据传输。
其中,连接器获取所述关系型数据库所在的服务器的负载信息,包括:
所述连接器接收到所述服务器上的监测代理发送的负载信息;
或者,所述连接器探测得到所述服务器的负载信息。
其中,所述连接器根据所述负载信息控制所述数据传输,包括:
所述连接器根据所述负载信息判断所述服务器是否为超负荷状态;
如果是,则停止所述数据传输;否则,继续所述数据传输。
其中,所述连接器根据所述负载信息判断所述服务器是否为超负荷状态,包括:
所述连接器将所述负载信息与预设的第一阈值进行比较;
如果所述负载信息大于或等于所述第一阈值,则确定所述服务器已达到超负荷状态;
如果所述负载信息小于所述第一阈值,则确定所述服务器未达到超负荷状态。
其中,确定所述服务器未达到超负荷状态之后,还包括:
所述连接器将所述负载信息与预设的第二阈值进行比较;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京高森明晨信息科技有限公司,未经北京高森明晨信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210289213.1/2.html,转载请声明来源钻瓜专利网。