Sqoop的安装与简单案例分析

一、安装Sqoop

1、下载并解压

wget -c http://ftp.riken.jp/net/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local

2、将解压后生成的文件夹重命名

mv ./sqoop-1.4.7.bin__hadoop-2.6.0  ./sqoop

3、配置环境变量并使生效

export SQOOP_HOME=/usr/local/sqoop
export PATH=¥PATH:$SQOOP_HOME/bin

4、 重命名配置文件

 mv sqoop-env-template.sh sqoop-env.sh
 vi sqoop-env.sh

添加以下内容:

export HADOOP_COMMON_HOME=/usr/local/hadoop
export HADOOP_MAPRED_HOME=/usr/local/hadoop
export HBASE_HOME=/usr/local/hbase

5、将mysql的驱动包mysql-connector-java-5.1.27-bin.jar复制到Sqoop安装目录下的lib文件夹中

6、测试是否安装成功

sqoop list-databases --connect jdbc:mysql://master:3306/test --username hive --password 123456

参数说明:

–connect: 数据库的连接URL
–username: 数据库用户名
–password:数据库密码

Sqoop的安装与简单案例分析_第1张图片

二、将mysql表数据导入到hdfs中

1、在mysql创建数据库test和数据表student
其中主键是字段id,字段name是字符串类型

# 创建数据库test:
create database test;
# 使用数据库test:
use test
# 创建数据表student:
create table student(id int primary key,name varchar(20));
# 向数据表student插入两条数据:
insert into student values(1,"aa");
insert into student values(2,"bb");

2、启动Hadoop

start-all.sh

3、执行命令

bin/sqoop import --connect "jdbc:mysql://master:3306/test?characterEncoding=UTF-8" --username hive --password 123456 --table student --columns id,name --target-dir /sqoop/mysql4

上面代码中的参数含义

–connect: 数据库的连接URL
–username: 数据库用户名
–password:数据库密码
–table:数据库表名
–columns:数据库列名
-target-dir: 数据库hdfs中存放目录,如果hdfds中没有该目录则会自动生成

输出的日志如下:
Sqoop的安装与简单案例分析_第2张图片
4、查看导入结果

hadoop fs -ls /sqoop/mysql4

在这里插入图片描述
查看/sqoop/mysql4/目录下所有文件的内容

hadoop fs -cat /sqoop/mysql4/*

在这里插入图片描述

三、将hdfs中的数据导入到mysql中

1、在test数据库中创建和表student 一样的student2表

 create table student2(id int primary key,name varchar(20));

2、执行导出命令

bin/sqoop export --connect "jdbc:mysql://master:3306/test?characterEncoding=UTF-8" --username hive --password 123456 --table student2 --export-dir /sqoop/mysql4/part-m-00000

上面代码中的参数含义

–table:目标数据所在表的名称
–export-dir:源数据所在的位置

3、在mysql里查看表student2

select * from student2;

结果:
Sqoop的安装与简单案例分析_第3张图片
四、解决错误
1、将mysql的驱动包mysql-connector-java-5.1.27-bin.jar复制到Sqoop安装目录下的lib文件夹中Sqoop的安装与简单案例分析_第4张图片

你可能感兴趣的:(hadoop+spark,大数据,mysql)