目的:
- 在Hadoop和RDBMS之间高效传输数据:
- hadoop大数据存储平台:hdfs、hive、hbase
- rdbms关系型数据库 : mysql、oracle、postgresql、mssql
原理:
- 把用户的指令解析编译成MR任务,发布到yarn上分布式执行
- MR任务把输入和输出分别对接RDBMS和Hadoop就能完成数据的转移
版本:
- sqoop1:
- 核心组件:TaskTranslator,解析编译用户指令,生成mr任务发布到yarn
- cli、api :和用户交互,从用户接受命令,把命令发送给TaskTranslator
- 优点:简单、灵活、易用,不需要做什么配置,指令即配置,指令可以马上执行
- 缺点:支持shell和java等语言,对于其他语言无法支持
- sqoop2
- server端:
- 核心组件:TaskTranslator,解析编译用户指令,生成mr任务发布到yarn
- Connector连接存储系统的中间组件
- Metadata:
- 存储用户跟存储系统的连接信息:link
- 存储数据导入导出的指令信息:Job
- 存储用户跟存储系统的连接信息:link
- RestServer:
- 对外接受客户端的服务
- 对外接受客户端的服务
- 核心组件:TaskTranslator,解析编译用户指令,生成mr任务发布到yarn