2.2.2 Sqoop2 基本架构

主要组件

1.Sqoop Client

  定义了用户使用Sqoop的方式,包括客户端命令行CLI和浏览器两种方式,浏览器允许用户直接通过Http方式完成Sqoop的管理和数据的导出

2.Sqoop Server

  1)Connector:所有Connector的实现放置到Sqoop server端,且Connector被进一步抽象化和模块化,它的通用部分被抽取出来本身只关注数据解析和加载相关的功能,包括Partitioner、Extractor和Loader等主要模块,

      Partitioner:决定如何对源数据进行分片(SqoopSplit),以便启动Map Task并行处理;

      Extractor:将一个分片中的数据解析成一条条记录,并输出;

      Loader:读取Extractor输出的数据,并以特定格式写入目标数据源中。

整个过程只需要一个MapReduce作业即可完成,Partitioner和Extractor在Map阶段完成,Loader在Reduce阶段完成。

  2)Metadata:Sqoop中的元信息,包括可用的Connector列表,用户创建的作业和Link(实例化的一个Connector,以便创建作业时使用)等。元信息被存储在数据仓库中,默认使用轻量级数据库Apache Derby,用户也可根据需要替换成Mysql等其他数据库。

  3)RESTful和HTTP Server:与客户端对接,影响客户端发出的RESTful请求和HTTP请求

  Sqoop Server会根据用户创建的Sqoop Job生成一个MapReduce作业,提交到Hadoop集群中分布式执行。

posted @ 2019-07-18 21:36  开发小拉拉  阅读(422)  评论(0编辑  收藏  举报