数据迁移工具sqoop入门

首先,先简单说明下sqoop是什么,sqoop 即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具,充分利用MapReduce并行特点以批处理的方式加快数据传输,发展至今主要演化了二大版本,sqoop1和sqoop2。 
那么为什么选择sqoop呢? 
1,高效可控的利用资源,任务并行度,超时时间。 
2,数据类型映射与转化,可自动进行,用户也可自定义 
3,支持多种主流数据库,MySQL,Oracle,SQL Server,DB2等等 

sqoop1和sqoop2对比的异同之处: 
1,两个不同的版本,完全不兼容 
2,版本号划分区别,Apache:1.4.x,1.99.x~ 
CDH:sqoop-1.4.3-cdh4,sqoop2-1.99.2-cdh4.5.0 
3,sqoop2比sqoop1的改进 
(1)引入sqoop server,集中化管理connector等 
(2)多种访问方式:CLI,Web UI,REST API 
(3) 引入基于角色 的安全机制 

sqoop1与sqoop2的架构图如下: 

数据迁移工具sqoop入门 
数据迁移工具sqoop入门
sqoop1与sqoop2的优缺点如下: 
sqoop1的架构,仅仅使用一个sqoop客户端,sqoop2的架构,引入了sqoop server集中化管理connector,以及rest api,web,UI,并引入权限安全机制。 
sqoop1与sqoop2优缺点比较 
sqoop1优点架构部署简单 
sqoop1的缺点命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏, 
安装需要root权限,connector必须符合JDBC模型 
sqoop2的优点多种交互方式,命令行,web UI,rest API,conncetor集中化管理,所有的链接安装在sqoop server上,完善权限管理机制,connector规范化,仅仅负责数据的读写。 
sqoop2的缺点,架构稍复杂,配置部署更繁琐。