安装

cd /usr/local/
rz
tar xf sqoop146n.tar.gz
vim /etc/profile
export SQOOP_HOME=/usr/local/sqoop
:$SQOOP_HOME/bin
source /etc/profile

显示mysql数据库列表

sqoop list-databases --connect jdbc:mysql://hadoop:3306/hive --username root --password root

显示mysql所有表

sqoop list-tables --connect jdbc:mysql://hadoop:3306/hive --username root --password root

创建测试表

#进入mysql数据库
create database test;
use test;
create table test (id int,name varchar(10)) charset=utf8;
insert into test values (1,'北京');
insert into test values (2,'南京');
insert into test values (3,'东京');
insert into test values (4,'西京');
insert into test values (5,'新街口');
insert into test values (6,'五道口');
insert into test values (7,'菜市口');
insert into test values (8,'梅市口');
insert into test values (9,'珠市口');
insert into test values (10,'磁器口');
create table test2 (id int,name varchar(10)) charset=utf8;

从mysql导向sqoop

sqoop import --connect jdbc:mysql://hadoop:3306/test --username root --password root  --table test --target-dir /usr/hive/warehouse/test -m 1
                                               #库名                                          #表名              #导入的路径                  #cpu

查看文件

hadoop fs -ls /usr/hive/warehouse/test 
[root@hadoop ~]# hadoop fs -cat /usr/hive/warehouse/test/part-m-00000
1,北京
2,南京
3,东京
4,西京
5,新街口
6,五道口
7,菜市口
8,梅市口
9,珠市口
10,磁器口

sqoop导向mysql

sqoop export --connect "jdbc:mysql://hadoop:3306/test?useUnicode=true&characterEncoding=UTF-8" --table test2 --username root --password root --export-dir hdfs://hadoop:9000/usr/hive/warehouse/test

查看表

mysql> select * from test2;
+------+-----------+
| id   | name      |
+------+-----------+
|    9 | 珠市口    |
|   10 | 磁器口    |
|    1 | 北京      |
|    2 | 南京      |
|    3 | 东京      |
|    4 | 西京      |
|    5 | 新街口    |
|    6 | 五道口    |
|    7 | 菜市口    |
|    8 | 梅市口    |
+------+-----------+
10 rows in set (0.00 sec)

mysql导向hive

hive
create database sqoop;
#退出
sqoop import --connect jdbc:mysql://hadoop:3306/test --username root --password root --table test --hive-import --hive-database sqoop --create-hive-table -hive-table test -m 1
hive
use sqoop;
hive> select * from test;
OK
1	北京
2	南京
3	东京
4	西京
5	新街口
6	五道口
7	菜市口
8	梅市口
9	珠市口
10	磁器口
Time taken: 0.462 seconds, Fetched: 10 row(s)
hive>