假设数据库sqoop1中有一个emp表,用emp表来进行sqoop测试
在sqoop目录下:
导入emp表到HDFS
./bin/sqoop import
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--table emp --m 1
导入emp表到HIVE
./bin/sqoop import
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--table emp --hive-import
--m 1
导入emp表到HDFS指定目录
./bin/sqoop import
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--target-dir /queryresult
--table emp --m 1
导入emp表数据子集
./bin/sqoop import
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--where “name=‘zhangsan’”
--target-dir /wherequery3
--table emp --m 1
按需导入emp表数据
./bin/sqoop import
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--target-dir /wherequery4
--query ‘select id,name from emp where id>1 and $conditions’
--split-by id
--fields-terminated-by ‘\t’
--m 1
将HDFS中/wherequery3目录下文件导出到数据库中
这里不再创建新表,直接导出到emp表中
./bin/sqoop export
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--table emp
--export-dir /wherequery3
sqoop作业:
创建作业(create)
创建一个名为myjob的作业,可以将RDBMS表数据导入到HDFS上.
./bin/sqoop job
--create myjob
– import (注意import前有空格)
--connect jdbc:mysql://cdh:3306/sqoop1
--username root --password 123456
--table emp
--target-dir /emp_db/firstJob --m 1
验证作业是否创建成功
./bin/sqoop job --list
根据job名称查看某一个job的具体信息
./bin/sqoop job --show myjob
执行job
./bin/sqoop job --exec myjob
删除job
./bin/sqoop --delete myjob