Sqoop从关系型数据库往HDFS上导入及导出文件

将关系型数据库(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   非空字符串以 * 号代替
发布了19 篇原创文章 · 获赞 2 · 访问量 352

猜你喜欢

转载自blog.csdn.net/qq_44472134/article/details/104075774