一、数据湖背景中的数据获取
1、数据获取层
2、批量数据获取--技术路线图
二、为什么使用sqoop
sqoop是一款非常常用的用于向ApacheHadoop传输数据的工具
1、sqoop简史
最早由cloudera开发维护,分为1.X,2.X版本,区别很大
2、sqoop的优势
- 支持多种结构化数据
- sqoop可以将etl中某些环境剔除,转移到hadoop中执行
- sqoop可以以并行的方式传输数据
- 帮助从主机中读取序列文件,并集成至目标系统
- 又有可扩展机制,可以构建或拦截多种 connector
- 除了基于JDBC的connector还支持原生工具的connector
- sqoop支持多种文件格式
3、sqoop劣势
- jdbc与关系型数据库连接,这种连接比较低效
- 在进行分析是sqoop执行各种mapreduce任务,这些任务十分耗时
- sqoop以批量方式传输数据时,会给源系统造成一定的压力
三、sqoop功能
sql to hadoop = sqoop
1、sqoop2架构
2、sqoop1与sqoop2
sqoop2主要设计思路
易用性
易扩展性
安全性
3、sqoop功能
当在命令行中输入一个命令,首先启动一个map任务,会通过合适的connector连接到相应的RDBMS,检索相关数据。在map任务结束后,这些数据会交给reduce任务进行处理,这里数据会被持久化到hdfs,hbase,hive中
4、sqoop导入数据
5、sqoop导出数据
四、sqoop connector
sqoop connector在sqoop任务中起到如下作用:
- 连接到目标数据库
- 从数据库中抽取数据
- 加载数据到数据库
sqoop进行数据传输时,两个组件开始起到作用,他们分别是:
- 驱动
- 连接器
sqoop connector的类型
- 内置的sqoop connector
- 通用的JDBC connector
- 特殊的connector
- 快速的connector
- 可拔插的外部connector
五、sqoop对HDFS的支持
sqoop为HDFS数据导入导出而生。