3. sqoop数据迁移

3.1、概述

sqoop是apache旗下一款Hadoop和关系数据库服务器之间传送数据”的工具。

导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;

导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等

3.2、sqoop1与sqoop2架构对比

sqoop1架构

第3节 sqoop:2、sqoop的基本简介和安装-LMLPHP

sqoop2架构

第3节 sqoop:2、sqoop的基本简介和安装-LMLPHP

3.3、工作机制

将导入或导出命令翻译成mapreduce程序来实现

在翻译出的mapreduce中主要是对inputformat和outputformat进行定制

3.4 、sqoop实战及原理

3.4.1 sqoop安装

安装sqoop的前提是已经具备java和hadoop的环境

1、下载并解压

下载地址

http://archive.cloudera.com/cdh5/cdh/5/

sqoop1版本详细下载地址

http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.6-cdh5.14.0.tar.gz

sqoop2版本详细下载地址

http://archive.cloudera.com/cdh5/cdh/5/sqoop2-1.99.5-cdh5.14.0.tar.gz

我们这里使用sqoop1的版本,下载之后上传到/export/softwares目录下,然后进行解压

cd /export/softwares

tar -zxvf sqoop-1.4.6-cdh5.14.0.tar.gz -C ../servers/

2、修改配置文件

cd /export/servers/sqoop-1.4.6-cdh5.14.0/conf/

cp sqoop-env-template.sh  sqoop-env.sh

vim sqoop-env.sh

export HADOOP_COMMON_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0

export HADOOP_MAPRED_HOME=/export/servers/hadoop-2.6.0-cdh5.14.0

export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0

3、加入额外的依赖包

sqoop的使用需要添加两个额外的依赖包,一个是mysql的驱动包,一个是java-json的的依赖包,不然就会报错

mysql-connector-java-5.1.40.jar

java-json.jar

将这个两个jar包添加到sqoop的lib目录下

4、验证启动

cd /export/servers/sqoop-1.4.6-cdh5.14.0

bin/sqoop-version

05-17 03:14