Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

  总之Sqoop是一个转换工具,用于在关系型数据库与HDFS之间进行数据转换。

移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

 

  注意:sqoop1与sqoop2完全不兼容,1.4.6及之前的版本是sqoop1,之后的是sqoop2

Sqoop1和Sqoop2的对比

sqoop2比sqoop1的改进

  1.  引入sqoop server,集中化管理connector等

  2.  多种访问方式:CLI,Web UI,REST API

  3.  引入基于角色 的安全机制

sqoop1与sqoop2的优缺点

  1. sqoop1的架构,仅仅使用一个sqoop客户端,sqoop2的架构,引入了sqoop server集中化管理connector,以及rest api,web,UI,并引入权限安全机制。

  2. sqoop1优点架构部署简单

  3. sqoop1的缺点命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏,

  4. 安装需要root权限,connector必须符合JDBC模型

  5. sqoop2的优点多种交互方式,命令行,web UI,rest API,conncetor集中化管理,所有的链接安装在sqoop server上,完善权限管理机制,connector规范化,仅仅负责数据的读写。

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

 sqoop1架构图

移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

 sqoop2架构图

 移动开发培训,Android培训,安卓培训,手机开发培训,手机维修培训,手机软件培训

  由于sqoop2还不是很完善,官方建议生产环境不建议使用,在此就sqoop1.4.6来作介绍

网友评论