安装
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>