使用
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 如果没有表会自动创建
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 如果没有表会自动创建