一、数据湖背景中的数据获取

1、数据获取层

2、批量数据获取--技术路线图

2020-09-27【学习笔记】【企业数据湖】五、基于Apache Sqoop的批量数据获取

二、为什么使用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架构

2020-09-27【学习笔记】【企业数据湖】五、基于Apache Sqoop的批量数据获取

2、sqoop1与sqoop2

sqoop2主要设计思路

易用性

易扩展性

安全性

3、sqoop功能

当在命令行中输入一个命令,首先启动一个map任务,会通过合适的connector连接到相应的RDBMS,检索相关数据。在map任务结束后,这些数据会交给reduce任务进行处理,这里数据会被持久化到hdfs,hbase,hive中

4、sqoop导入数据

2020-09-27【学习笔记】【企业数据湖】五、基于Apache Sqoop的批量数据获取

5、sqoop导出数据

2020-09-27【学习笔记】【企业数据湖】五、基于Apache Sqoop的批量数据获取

四、sqoop connector

sqoop connector在sqoop任务中起到如下作用:

  • 连接到目标数据库
  • 从数据库中抽取数据
  • 加载数据到数据库

sqoop进行数据传输时,两个组件开始起到作用,他们分别是:

  • 驱动
  • 连接器

sqoop connector的类型

  • 内置的sqoop connector
  • 通用的JDBC connector
  • 特殊的connector
  • 快速的connector
  • 可拔插的外部connector

五、sqoop对HDFS的支持

sqoop为HDFS数据导入导出而生。

相关文章: