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:数据库密码

在这里插入图片描述

二、将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中没有该目录则会自动生成

输出的日志如下:
在这里插入图片描述
如果出现以下情况,就试着修改mysql的表字符集编码改成:utf-8,重新执行
在这里插入图片描述

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;

结果:
在这里插入图片描述
四、解决错误
1、将mysql的驱动包mysql-connector-java-5.1.27-bin.jar复制到Sqoop安装目录下的lib文件夹中在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值