sqoop1 与sqoop2的对比

Sqoop是一款开源的工具,主要用于在Hadoop和传统的数据库(mysql、postgresql等)进行数据的传递,可以将一个关系型数据库(例如:MySQL、Oracle、Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。 
Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。 

sqoop2比sqoop1的改进

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

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

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语句)手动将数据载入 HiveHBase

数据从 Hive HBase

传输至RDBMS

不支持

解决办法: 按照此两步方法操作。

  1. Hive 或HBase 将数据提取至 HDFS(作为文本或Avro 文件)
  2. 使用 Sqoop将上一步的输出导出至RDBMS

不支持

按照与 Sqoop 1 相同的解决

猜你喜欢

转载自www.cnblogs.com/playforever/p/9103712.html