sqoop常用命令

使用


1 mysql导入数据到HDFS   
1.1  ./sqoop import --connect jdbc:mysql://192.168.116.132:3306/sqoop --username root --password 123456 --table test_user --target-dir /sqoop/test_user -m 2 --fields-terminated-by "\t" --columns "id,name"  --where 'id>2 and id<=6'

--connect 连接数据库
--username 用户
--password 密码
--table 表名
--target-dir 目标目录/sqoop/test_user
-m 2个mapreduce执行
--fields-terminated-by 用“\t”分隔 不用逗号默认是逗号.
--columns 只导入 id和name两个字段
--where  添加条件筛选 语句要用引号抱起来



1.2  ./sqoop import --connect jdbc:mysql://192.168.116.132:3306/sqoop --username root --password 123456 --query 'select * from test_user where id < 9 and id > 1 and $CONDITIONS'  --target-dir /sqoop/test_user4 -m 2 --split-by test_user.id

--query 直接用查询语句 这样就可以join 查询多表
-m 1 的时候可以执行 大于1就不行 如果要多个map要设置每个map读多少数据用--split-by分隔
--split-by test_user.id


2.hdfs数据导出到mysql
 
2.1 ./sqoop export --connect jdbc:mysql://192.168.116.132:3306/sqoop --username root --password 123456 --export-dir '/sqoop/test_user5' --table test_user -m 2

--export-dir 需要导出的目录/sqoop/test_user5


3.mysql导入到hive中
./sqoop import --hive-import --connect jdbc:mysql://192.168.116.132:3306/sqoop --username root --password 123456 --table test_user -m 2 --hive-table hive_user

--hive-import 指定导入到hive中
--hive-table 导入到hive中的表hive_user 如果没有表会自动创建

猜你喜欢

转载自blog.csdn.net/whiteForever/article/details/52609422