sqoop简介

Sqoop是什么:

传统数据库与Hadoop间数据同步工具

利用MR分布式批处理,加快了数据传输速度,保证了容错性

Sqoop1架构:

    

Sqoop1 import原理(导入)

从传统数据库获取元数据信息(schema、table、field、field type),把导入功能转换为只有Map的Mapreduce作业,在Mapreduce中有很多map,每个map读取一片数据,进而并行的完成数据的拷贝

Sqoop1 export原理(导出):

获取导出表的schema、metahdfs信息,和Hadoop中的字段match;多个map only作业同时进行,完成hdfs中数据导出到关系型数据库

 

密码保护方法:1)加参数-P,执行时要求终端输入

2)参数--password-file my-sqoop-password,指定密码文件的路径,密码防到文件,文件只读,只有自己可读的

 

非文本导入,比如图片、视频等,使用--as-sequencefile以sequencefile保存到HDFS上
也可以保存成avrodatafile格式,--as-avrodatafile

 

 

 

 

 

 

 

Sqoop的 常用用法

    1)sqoop import toHDFS

说明:
--connnect: 指定JDBC URL
--username/password:mysql数据库的用户名
--table:要读取的数据库表

--where:导入数据的过滤条件

--target-dir:HDFS中导入表的存放目录

--warehouse-dir:指定表存放的父目录,只需要指定一次,下次存放时会在该目录下自动以该表名命名

--num-mappers:并发的map数

--null-string:null值时,HDFS存储为N

--null-non-string:非字符类型的字段为空时,存储为N

--incremental append或lastmodified:自动增量方式

--check-column

--last-value:上一次导入的最后一个值

  1. sqoop import to HBase

 

 

 

 

 

 

 

 

  1. sqoop export

Sqoop1存在的问题

  1. 基于命令行的操作易出错,且不安全;
  2. 数据传输和数据格式是紧耦合的,这使得connector无法支持所有格式数据格式
  3. 安全密匙是暴露出来的,非常不安全
  4. Sqoop安装必须有root权限
  5. Connector必须符合JDBC模型,并使用通用放入JDBC词汇

 

 

 

 

 

 

 

Sqoop2的架构图

    

在架构上:sqoop2引入了sqoop server,对connector实现了集中的管理 
访问方式:REST API、 JAVA API、 WEB UI以及CLI控制台方式进行访问 CLI方式访问,会通过交互过程界面,输入的密码信息丌被看到,同时Sqoop2引入基亍角色的安全机制,Sqoop2比Sqoop多了一个Server端。

 

 

 优缺点 
sqoop1与sqoop2的优缺点如下: 
    sqoop1的架构,仅仅使用一个sqoop客户端,sqoop2的架构,引入了sqoop server集中化管理connector,以及rest api,web,UI,并引入权限安全机制。

sqoop1与sqoop2优缺点比较 : 
    sqoop1优点架构部署简单 
    sqoop1的缺点命令行方式容易出错,格式紧耦合,无法支持所有数据类型,安全机制不够完善,例如密码暴漏, 
安装需要root权限,connector必须符合JDBC模型 
    sqoop2的优点多种交互方式,命令行,web UI,rest API,conncetor集中化管理,所有的链接安装在sqoop server上,完善权限管理机制,connector规范化,仅仅负责数据的读写。 
    sqoop2的缺点,架构稍复杂,配置部署更繁琐

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值