大数据(hadoop-数据入库系统Sqoop原理架构)

Sqoop是什么

20c3ab0058cf32239142a86f5d3066d079e.jpg

Sqoop:SQL-to-Hadoop

连接传统关系型数据库和Hadoop的桥梁
   把关系型数据库的数据导入到 Hadoop 系统 ( 如 HDFS、HBase 和 Hive) 中;
   把数据从 Hadoop 系统里抽取并导出到关系型数据库里。

利用MapReduce

批处理方式进行数据传输

Sqoop优势

高效、可控的利用资源
   任务并行度、超时时间等

数据类型映射与转换
   可自动进行,用户也可自定义

支持多种数据库
   MySQL
   Oracle
   PostgreSQL

Sqoop1架构

f562fd4d4577bdb2a833593bd87976349ba.jpg

Sqoop2架构

13938a6b163da8b9ce1bfd9a54348a0200f.jpg

Sqoop import

将数据从关系型数据库导入Hadoop 中

步骤1 :Sqoop 与数据库Server通信,获取数据库表的元数据信息;
步骤2 :Sqoop 启动一个Map-
Only 的MR 作业,利用元数据信息并行将数据写入Hadoop 。

53bbd9b05186b3003ddbb2813b046791d7d.jpg

Sqoop import使用

sqoop import \
	--connect jdbc:mysql://mysql.example.com/sqoop \
	--username sqoop \
	--password sqoop \
	--table person
	--target-dir
 --connnect:  指定JDBC URL
 --username/password :mysql 数据库的用户名
 --table :要读取的数据库表

Sqoop Export

将数据从Hadoop 导入关系型数据库导中

步骤1 :
Sqoop 与数据库Server通信,获取数据库表的元数据信息;

步骤2 :并行导入数据:
  将Hadoop 上文件划分成若干个split ;
  每个split 由一个Map Task 进行数据导入。

73b14965d210c9582a9ffa983ee120fc404.jpg

Sqoop Export使用方法

sqoop export \
   --connect jdbc:mysql://mysql.example.com/sqoop \
   --username sqoop \
   --password sqoop \
   --table cities \
   --export-dir cities
   --fields-terminated-by

 --connnect:  指定JDBC URL
 --username/password :mysql 数据库的用户名
 --table :要导入的数据库表
 export-dir :数据在HDFS 上存放目录

Sqoop与其他系统结合

     Sqoop 可以与Oozie 、Hive 、Hbase 等系统结合;

     用户需要在sqoop-env.sh 中增加HBASE_HOME 、HIVE_HOME
 

 

 

转载于:https://my.oschina.net/u/3728166/blog/3063097

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值