sqoop 三库导入导出写法

0 如下所有命令 在命令行应该写成一行  这里是为了读取方便而故意折行写出来

1 sqoop <--------->  mysql

mysql ---> hdfs

sqoop import --connect jdbc:mysql://172.16.252.227:3306/test --username root --password root --table testzm --columns 'id,name'	
             --target-dir /user/root/example/output-dir/testmysql -m 1
             --fields-terminated-by "\t" --null-string "**" --null-non-string "##";





hdfs ---> mysql

sqoop export --connect jdbc:mysql://172.16.252.227:3306/test --username root --password root --table testzmexport	
             --export-dir /user/root/example/output-dir/testmysql/part-m-00000 -m 1
             --fields-terminated-by "\t" ;
			 

2 sqoop <--------->  oracle

   oracle库为ORCL 表为 USERINFO 

oracle ---> hdfs

sqoop import --connect jdbc:oracle:thin:@172.16.252.227:1521:orcl --username test_user --password oracle --table USERINFO 	
             --target-dir /user/root/example/output-dir/sqoop-from-oracl -m 1
             --fields-terminated-by "\t" --null-string "**" --null-non-string "##";


oracle ---> hive

sqoop import --connect jdbc:oracle:thin:@172.16.252.227:1521:orcl --username test_user --password oracle --table USERINFO 	
             --hive-import -m 1;   此时hive不需要创建表名和字段,会默认使用关系型数据库表名,和关系型数据库的字段。
             


hdfs ---> oracl

sqoop export --connect jdbc:oracle:thin:@172.16.252.227:1521:orcl --username test_user --password oracle --table test_user_export	
             --export-dir /user/root/example/output-dir/testmysql/part-m-00000 -m 1
             --fields-terminated-by "\t" ;

sqoop <--------->  sqlserver

  

1 sqlserver

sqlserver ---> hdfs

sqoop import --connect 'jdbc:sqlserver://172.16.252.227:database=model;username=sa;password=123456' --query 'select * from userinfo where $CONDITIONS'	
             --target-dir /user/root/example/output-dir/sqoop-from-sqlserver -m 1
             --fields-terminated-by "\t" --null-string "**" --null-non-string "##";

猜你喜欢

转载自chengjianxiaoxue.iteye.com/blog/2218433