大数据ETL工具—sqoop详解


1.sqoop产生的原因:

A.多数使用hadoop技术的处理大数据业务的企业,有大量的数据存储在关系型数据中。

B.由于没有工具支持,对hadoop和关系型数据库之间数据传输是一个很困难的事。依据以上的原因sgoop产生的。

2.sqoop的介绍

sqoop是连接关系型数据库和hadoop的桥梁,主要有两个方面(导入和导出):

A.将关系型数据库的数据导入到Hadoop及其相关的系统中,如Hive和HBase

B.将数据从Hadoop系统里抽取并导出到关系型数据库。

导出和导入

3.Sqoop的优点:

A可以高效、可控的利用资源,可以通过调整任务数来控制任务的并发度。

B.可以自动的完成数据映射和转换。由于导入数据库是有类型的,它可以自动根据数据库中的类型转换到H adoop中,当然用户也可以自定义它们之间的映射关系。

C.支持多种数据库,如mysql,orcale等数据库

sqoop工作的机制:

将导入或导出命令翻译成MapReduce程序来实现在翻译出的MapReduce中主要是对InputFormat和OutputFo1 mat进行定制。

sqoop版本介绍:sqoop1和sqoop2

A. sqoop的版本sqoop1和sqoop2是两个不同的版本,它们是完全不兼容的。

B. 版本划分方式:apache1.4X之后的版本是11.99.0之上的版本是2。

C.Sqoop2相比sqoop1的优势有:

1)它引入的sqoop Server,便于集中化的管理Connector或者其它的第三方插件;

2)多种访问方式:CLI、WebUIRESTAPI;

3)它引入了基于角色的安全机制,管理员可以在sqoop Server上配置不同的角色。

D.Sqoop2和sqoop1的功能性对比:

E.sqoop1和sqoop2的架构区别:

1)sqoop1的架构图:


版本号:1.4X以后的sqoop1

在架构上:sqoop1使用sqoop客户端直接提交代码方式

访问方式:CLI命令行控制台方式访问

安全性:命令或者脚本指定用户数据库名和密码

原理:Sgoop工具接收到客户端的shell命令或者Javaapi命令后,通过Sgoop中的任务翻译器(TaskTranslator)将命令转换为对应的MapReduce任务,而后将关系型数据库和Hadoop中的数据进行相互转移,进而完成数据的拷贝。

2)sqoop2架构图:

版本号:1.99.X以上的版本sqoop2

在架构上:sqoop2引入了sqoopserver,对对connector实现了集中的管理访问方式:RESTAPIJAVAAPI W EBUI以及CLI控制台方式进行访问。

CLI方式访问,会通过交互过程界面,输入的密码信息会被看到,同时Sqoop2引入基于角色的安全机制,Sqo op2比Sqoop多了一个Server端。

F.Sqoop1和sqoop2优缺点:

sqoop1优点:架构部署简单

sqoop1缺点:命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏,安装需要root权限,connector必须符合JDBC模型。

sqoop2优点:多种交互方式,命令行,webUI,restA PI,conncetor集中化管理,所有的链接安装在sgoopser ver上,完善权限管理机制,connector规范化,仅仅负责数据的读写。

sqoop2缺点:sqoop2的缺点,架构稍复杂,配置部署更繁琐。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章