将关系型数据库(RDBMS)导入到HDFS 关系型数据库(RDBMS)导入到Hive
sqoop参数笔记没有 (pdf格式的)
安装的时候需要在lib下面放mysql的jar包,才能跟mysql有关联
sqoop连接mysql命令(只有防火墙关闭之后才能连接上mysql)
导入 关系型数据库
导入
到非关系型数据库
1.1、将mysql数据库的内容传进hdfs
./sqoop import --connect jdbc:
mysql://node52:3306/1705A --username root --password root --table t_stu --target-dir /sqoop/test --delete-target-dir --num-mappers 1 --fields-terminated-by "\t"
2.1、按照条件查找
没有--table 目录换了,是新的目录test2 之后结束之后要加
$CONDITIONS; (最后有分号)
./sqoop import --connect jdbc:
mysql://192.168.224.132:3306/vmware --username root --password root --target-dir /sqoop/test2 --delete-target-dir --num-mappers 1 --fields-terminated-by "\t" --query 'select * from student where id>=2 and $CONDITIONS;'
2.2、另外一种条件查找方式(最后query去掉;改成 --table 后面加条件)
./sqoop import --connect jdbc:
mysql://192.168.224.132:3306/vmware --username root --password root --target-dir /sqoop/test3 --delete-target-dir --num-mappers 1 --fields-terminated-by "\t" --table student --where "id<2"
2.3、光导出 id 这一列 (导入指定的列)
./sqoop import --connect jdbc:
mysql://192.168.224.132:3306/vmware --username root --password root --target-dir /sqoop/test4 --delete-target-dir --num-mappers 1 --fields-terminated-by "\t" --table student --columns id
3.1、查看hadoop上面的信息
hadoop fs -cat
导出 非关系型数据库
导出
到关系型数据库
1、创建一个和hdfs数据一致的表结构
2、导入到数据库的命令
./sqoop export --connect jdbc:
mysql://192.168.224.132:3306/vmware --username root --password root --export-dir /sqoop/test/part-m-00000 --table student2 --num-mappers 2 --input-fields-terminated-by "\t"
--split-by id 以id切割
--null-string "*" 空字符串以 * 号代替
--null-non-string 非空字符串以 * 号代替