Sqoop数据交互工具——笔记

                      Sqoop数据交互工具——笔记

一、概念篇

Sqoop产生背景


随着企业的发展,企业数据的剧增,需要对海量数据进行分析挖掘。

(1)      将关系型数据库的数据导入到Hadoop,便于廉价处理和分析

(2)      在Hadoop进行海量数据分析挖掘

 

(3)      Hadoop分析挖掘完的数据结果,导出到关系型数据库,利用强大的sql进行进一步分析和展示。

 

sqoop是什么

Sqoop 就是一个ETL 工具;

内部还是使用MR框架来处理数据的导入和导出;

因为mr框架是适用于海量数据的离线分析框架,所以决定了sqoop更适合做离线的海量数据、批量数据的传输。

 

Postgre数据库,国外非常受欢迎的开源的关系型数据库;



从不同的外部数据源当中,通过sqoop抽取数据,导入到Hadoop;

每一种数据源,可以理解为一个map、各自并行导入到Hadoop(各个数据管理组件)

还可以从Hadoop中,重新导出到外部数据源;

 

Hadoop内部包含了hdfs、hbase、hive 以及其他工具cloudera;

 

为什么选择sqoop


Sqoop支持任务的并行,以及有超时机制;

用户可以使用sqoop的数据转换,也可以自定义自己的数据转换;

 

Sqoop1 和 sqoop2


这是完全不同,不兼容的两个版本,因为他们有着完全不同的架构!

 

如何区分 sqoop的2个版本:如上

 

如何区分Hadoop的2个版本:

0.22 以及 1.X  —— Hadoop1

0.23 以及 2.0以后 —— Hadoop2

 

引入sqoop-server 可以集中化管理connector;

sqoop1 需要在每个sqoop客户端配置connectors

 

Connector 本质上是一个连接器,针对不同的外部数据源有不同的连接器;

 

sqoop1客户端配置connectors,只是配置了连接串的用户密码,而且是明文,存在安全隐患;

 

REST

REST模式的Web服务 ;越来越多web服务开始采用REST风格设计和实现

rest即表述性状态传递(英文:Representational State Transfer,简称REST

 

rest接口,知道如何去处理URI的原因在于所有的资源都支持同样的接口,一套同样的方法(只要你乐意,也可以称为操作)集合,叫做 verb(动词);

除了两个大家熟知的(GETPOST)之外,标准方法集合中还包含PUTDELETEHEADOPTIONS,这些方法的含义连同行为许诺都一起定义在HTTP规范之中

所以,rest接口是一套结合了方法的定义和行为的标准操作集合。

可以想象到RESTful HTTP方案中的所有资源都继承自类似于这样的一个类(采用类JavaC#的伪语法描述,请注意关键的方法):

class Resource {

Resource(URI u);

Response get();

Responsepost(Request r);

Responseput(Request r);

Responsedelete();

}

 

统一的接口resource,对于不同的子类资源,都继承了相同的操作接口(get、post、put、delete)

 

 

Sqoop1 架构与存在的问题


只能通过CLI的命令,提交任务给sqoop。

Sqoop提交给Hadoop中,只有map 任务处理数据,并没有reducer任务;

Map任务,从文本系统的文件、数据库、企业的数据仓库获取数据,导入到Hadoop的数据管理组件。

反过来,也可以通过map 任务,从Hadoop的数据管理组件获取数据,导出到外部数据源。


数据源所在的主机,端口,数据源的数据库,表。

Sqoop 2 架构


l  提供了多于一种(CLI)的访问方式;

l  提供了sqoop-server,集中管理connectors;管理元数据仓库。

 

元数据仓库,包括了整个sqoop的配置信息,connectors信息,以及安全管理的配置信息。

 

Sqoop-client 可以部署在任意的需要连接的外部数据源主机当中;

Sqoop-server 可以部署在和Hadoop的数据管理组件hbase、hive所在的主机上。

 

l  提供了reduce 任务

 

二、loader 与 sqoop

1、组件构成

l  Sqoop-client

l  Sqoop-server

l  Sqoop-connector

l  Sqoop-transformat

l  Sqoop-security

l  Sqoop-request (CLI、webUI、Rest)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值