Sqoop常用操作

该脚本由香打小伙伴整理。
首先保证HDFS和HiveServer2正常运行,集群运行在debugo01,debugo02,debugo03三台主机上。

1. 准备mysql数据

在debugo03的MySQL中新建一个测试数据库,并建测试表employee_salary。

2. 安装sqoop

yum install sqoop
cp /usr/share/java/mysql-connector-java.jar /usr/lib/sqoop/lib

3. 常用命令

(1) sqoop help

(2) 列出所有数据库(可用于测试连接)
一般用于测试连接,得到的结果只是该mysql用户拥有权限的数据库。

(3) 列出所有表

(4) 导出mysql表到hdfs
其中的-D mapred.job.queue.name=lesson是用来指定yarn的执行队列。
–m 1用来指定map任务个数为1。

在hdfs上创建测试目录

执行导出

如果出现下面的错误,请更新/usr/lib/sqoop/mysql-java-connector.jar文件。ISSUE: https://issues.apache.org/jira/browse/SQOOP-1400

查看hdfs数据,与mysql数据库中employee_salary表一致:

(5) 导出mysql表全部数据到hive
在hive创建对应的数据库和表

使用sqoop创建表

使用sqoop将数据从mysql导入hive
需要确认集群中的任何一个节点都可以登录mysql。

检查结果,成功!

(6) 将数据从hive导入mysql
先删除mysql employee_salary表中的数据

导数据

.
查看结果,记录已经成功导出到mysql中。

(7) 从mysql表增量导入数据到hive
在mysql表中插入增量数据
插入一条wangwu

增量导入

查看结果
select * from test_sqoop.employee_salary;
1

Posted in BigData, HBase|Hive.