sqoop简介及sqoop1与sqoop2区别

Sqoop (sqoop.apache.org)工具是hadoop环境下连接关系数据库,和hadoop存储系统的桥梁,支持多种关系数据源和hive,hdfs,hbase的相互导入。一般情况下,关系数据表存在于线上环境的备份环境,需要每天进行数据导入,根据每天的数据量而言,sqoop可以全表导入,对于每天产生的数据量不是很大的情形可以全表导入,但是sqoop也提供了增量数据导入的机制。

sqoop1与sqoop2对比:

版本号对比

两代之间是两个完全不同的版本,不兼容 
sqoop1:1.4.x 

sqoop2:1.99.x

sqoop2比sqoop1的改进

(1) 引入sqoop server,集中化管理connector等 
(2) 多种访问方式:CLI,Web UI,REST API 
(3) 引入基于角色 的安全机制

sqoop2和sqoop1的功能性对比

功能 Sqoop 1 Sqoop 2
用于所有主要 RDBMS 的连接器 支持 不支持
解决办法: 使用已在以下数据库上执行测试的通用 JDBC 连接器: Microsoft SQL Server 、 PostgreSQL 、 MySQL 和 Oracle 。 
此连接器应在任何其它符合 JDBC 要求的数据库上运行。但是,性能可能无法与 Sqoop 中的专用连接器相比
Kerberos 安全集成 支持 不支持
数据从 RDBMS 传输至 Hive 或 HBase 支持 不支持
解决办法: 按照此两步方法操作。 将数据从 RDBMS 导入 HDFS 在 Hive 中使用相应的工具和命令(例如 LOAD DATA 语句),手动将数据载入 Hive 或 HBase
数据从 Hive 或 HBase 传输至 RDBMS 不支持
解决办法: 按照此两步方法操作。 从 Hive 或 HBase 将数据提取至 HDFS (作为文本或 Avro 文件) 使用 Sqoop 将上一步的输出导出至 RDBMS
不支持
按照与 Sqoop 1 相同的解决方法操作

sqoop1和sqoop2的架构对比

(1) : sqoop1的架构图 
这里写图片描述

版本号为1.4.x为sqoop1 
在架构上:sqoop1使用sqoop客户端直接提交的方式 
访问方式:CLI控制台方式进行访问 
安全性:命令或脚本中指定用户数据库名及密码

(2) : sqoop2的架构图 
这里写图片描述 
版本号为1.99x为sqoop2 
在架构上:sqoop2引入了sqoop server,对connector实现了集中的管理 
访问方式:REST API、 JAVA API、 WEB UI以及CLI控制台方式进行访问 

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


sqoop1与sqoop2优缺点比较 : 

  •     sqoop1优点架构部署简单 
    sqoop1的缺点命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏, 
安装需要root权限,connector必须符合JDBC模型 
  •     sqoop2的优点多种交互方式,命令行,web UI,rest API,conncetor集中化管理,所有的链接安装在sqoop server上,完善权限管理机制,connector规范化,仅仅负责数据的读写。 
    sqoop2的缺点,架构稍复杂,配置部署更繁琐。





猜你喜欢

转载自blog.csdn.net/lilychen1983/article/details/80241368