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 1Sqoop 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优缺点比较 : 

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