快捷搜索: 王者荣耀 脱发

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

Sqoop数据迁移

一、sqoop概述

1、简介

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

2、原理

二、sqoop的安装配置

1、下载

2、上传服务器

3、解压

4、配置

标准的apach项目文件 将模板配置文件拷贝一份

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

修改配置文件

5.测试

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

出现错误,无驱动包

6、解决错误

需要上传MySQL的java驱动包

7、再次执行命令

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

三、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

3.启动yarn

4、执行命令

在webUI上查看

五. Mysql表导入HDFS

1.数据准备

首先先新建一个目录

之后创建一个新的数据库

并且新建一个表格 并添加字段 插入数据

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

在webUI上查看结果

六. 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

在webUI上查看运行结果

经验分享 程序员 微信小程序 职场和发展