查看version信息
[root@gree143 ~]# sqoop version
Sqoop 1.4.7
git commit id 2328971411f57f0cb683dfb79d19d4d19d185dd8
查看指定mysql服务器中数据库
[root@gree143 ~]# sqoop list-databases --connect jdbc:mysql://192.168.78.141:3306 --username root --password root
mysql
information_schema
performance_schema
sys
kb21
myschool
joinstu
mysql50
testdemo
mydemo
jdbcstudb
exam
hive143
查看指定mysql服务器数据库中的表
[root@gree143 ~]# sqoop list-tables --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root
course
sc
student
teacher
test
在hive中创建一个teacher1表跟mysql的mysql50库中的teacher结构相同
[root@gree143 ~]# sqoop create-hive-table --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table teacher --hive-table teacher1
将mysql中mysql50库中的sc数据导出到hdfs指定的文件目录中
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --target-dir /tmp/mysql50/sc --fields-terminated-by '\t' -m 1
将mysql中kb21库中的account数据导出到hdfs指定的文件目录中,带自增长(主键)的表可以设定mapreduce任务数,任务数设置为多少,最后生成的part-m文件就有几个(即分区),
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/kb21 --username root --password root --table account --target-dir /tmp/kb21/account --fields-terminated-by '\t' -m 2
带条件过滤
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --where "SID='01'" --target-dir /tmp/mysql50/sid01 -m 1
带条件过滤,指定查询列
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --columns "CID,score" --where "SID='01'" --target-dir /tmp/mysql50/sid01column -m 1
query使用
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --target-dir /tmp/mysql50/scquery --query 'select * from sc where $CONDITIONS and CID="02" and score>80 ' --fields-terminated-by '\t' -m 1
将mysql50中sc表导入到hive default库中
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --hive-import kb21 -m 1
将mysql50中sc表导入到hive kb21库中
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --hive-import --hive-database kb21 -m 1
重写,原数据会被覆盖
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --hive-import --hive-overwrite --hive-database kb21 -m 1
增量导入
[root@gree143 ~]# sqoop import --connect jdbc:mysql://192.168.78.141:3306/mysql50 --username root --password root --table sc --hive-import --incremental append --hive-database kb21 -m 1