Sqoop原理与安装

原理

介绍

Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。来自于Apache软件基金会提供。

Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。

Hadoop生态系统包括:HDFS、Hive、Hbase等

RDBMS体系包括:Mysql、Oracle、DB2等

Sqoop可以理解为:“SQL 到 Hadoop 和 Hadoop 到SQL”。

架构

image-20230620092614136

导入流程

  1. 首先通过jdbc读取关系型数据库元数据信息,获取到表结构。
  2. 根据元数据信息生成Java类。
  3. 启动import程序,通过jdbc读取关系型数据库数据,并通过上一步的Java类进行序列化。
  4. MapReduce并行写数据到Hadoop中,并使用Java类进行反序列化。

导出流程

  1. sqoop通过jdbc读取关系型数据库元数据,获取到表结构信息,生成Java类。
  2. MapReduce并行读取hdfs数据,并且通过Java类进行序列化。
  3. export程序启动,通过Java类反序列化,同时启动多个map,通过jdbc将数据写入到关系型数据库中。

image-20230620092936165

Sqoop的安装

选择已经安装好hive镜像,里面以及安装过mysql,hadoop ,zookeeper,hive。根据自己资源情况调整cpu和内存的资源。

镜像地址:http://cloud.hainiubl.com/#/privateImageDetail?id=2953&imageType=private。选择添加到实验配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KW9oqRKk-1687226396109)(C:\Users\chehongyan_win10tax\AppData\Local\Temp\ksohtml12812\wps1.jpg)]

1 将sqoop安装包解压到/usr/local目录下

tar -zxvf /public/software/bigdata/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/

2 创建软链接

ln -s sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop

img

3 修改sqoop安装目录的所有者和属组

 chown -R hadoop:hadoop sqoop-1.4.7.bin__hadoop-2.6.0/

img4 修改sqoop环境变量

#添加到/etc/profile文件中
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#让环境变量立即生效
source /etc/profile

5 测试sqoop

# shell 里执行 sqoop 命令
sqoop help

6 导入mysql驱动包到sqooplib目录下

cp /usr/local/hive/lib/mysql-connector-java-5.1.49.jar  /usr/local/sqoop/lib/

al/hive/lib/mysql-connector-java-5.1.49.jar /usr/local/sqoop/lib/




 

 

 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值