Hadoop高手之路--08--Sqoop数据迁移

Sqoop数据迁移

一、sqoop概述

1、简介

Sqoop是Apache的一款开源工具,Sqoop主要用于在Hadoop和关系数据库或大型机之间传输数据,可以使用Sqoop工具将数据从关系数据库管理系统导入(import)到Hadoop分布式文件系统中,或者将Hadoop中的数据转换导出(export)到关系数据库管理系统。

2、原理

Hadoop高手之路--08--Sqoop数据迁移

二、sqoop的安装配置

1、下载

Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移

2、上传服务器

Hadoop高手之路--08--Sqoop数据迁移

3、解压

Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移

4、配置

标准的apach项目文件
Hadoop高手之路--08--Sqoop数据迁移
将模板配置文件拷贝一份

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

Hadoop高手之路--08--Sqoop数据迁移
修改配置文件
Hadoop高手之路--08--Sqoop数据迁移

5.测试

bin/sqoop list-databases \
  -connect jdbc:mysql://localhost:3306/ \
  --username root \
  --password root \

Hadoop高手之路--08--Sqoop数据迁移

出现错误,无驱动包

6、解决错误

需要上传MySQL的java驱动包
Hadoop高手之路--08--Sqoop数据迁移

7、再次执行命令

bin/sqoop list-databases \
  -connect jdbc:mysql://hadoop01:3306/ \
  --username root \
  --password Root123! \

Hadoop高手之路--08--Sqoop数据迁移

三、sqoop指令介绍

Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移

四、数据的导入

1、导入命令

bin/sqoop import \
  -connect jdbc:mysql://hadoop01:3306/azkaban \
  --username root \
  --password Root123! \
  --target-dir /azkaban/execution_logs \
  --table execution_logs \
  --num-mappers 1

2.启动hadoop

Hadoop高手之路--08--Sqoop数据迁移

3.启动yarn

Hadoop高手之路--08--Sqoop数据迁移

4、执行命令

Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移
在webUI上查看

Hadoop高手之路--08--Sqoop数据迁移

五. Mysql表导入HDFS

1.数据准备

首先先新建一个目录

Hadoop高手之路--08--Sqoop数据迁移
之后创建一个新的数据库

Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移
并且新建一个表格
Hadoop高手之路--08--Sqoop数据迁移
并添加字段
Hadoop高手之路--08--Sqoop数据迁移
插入数据

Hadoop高手之路--08--Sqoop数据迁移

2.数据导入

将该表导入hdfs

bin/sqoop import \
  --connect jdbc:mysql://hadoop01:3306/sqoop \
  --username root \
  --password Root123! \
  --target-dir /sqoop/mysql_hdfs_append \
  --table salary \
  --num-mappers 1

Hadoop高手之路--08--Sqoop数据迁移
在webUI上查看结果
Hadoop高手之路--08--Sqoop数据迁移
Hadoop高手之路--08--Sqoop数据迁移

六. Mysql表数据子集导入

bin/sqoop import \
  --connect jdbc:mysql://hadoop01:3306/sqoop \
  --username root \
  --password Root123! \
  --where "jobtittle='Java工程师'"\
  --target-dir /sqoop/where \
  --table salary \
  --num-mappers 1

Hadoop高手之路--08--Sqoop数据迁移
在webUI上查看运行结果

Hadoop高手之路--08--Sqoop数据迁移

上一篇:[风信子培训]SQL注入+hgame


下一篇:MySQL5.7修改密码以及密码认证失败(Your password does not satisfy the current policy requirements)