Sqoop笔记 -- 导入导出

测试Sqoop 是否可以连接数据库

sqoop list-databases  
--connect jdbc:mysql://hadoop2:3306/   
--username root  
--password 123456

MySQL导入到HDFS上

全部导入

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--table staff 
--target-dir /sqoop/ 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "	"

delete-target-dir 删除存在的目录

查询导入

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--target-dir /sqoop 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "	" 
--query 'select name,sex from staff where id <=1 and $CONDITIONS;'

导入指定的列

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--target-dir /sqoop 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "	" 
--columns id,sex 
--table staff

使用sqoop关键字筛选查询导入数据

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--target-dir /sqoop/a 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by "	" 
--table staff 
--where "id=1"

RDBMS到Hive

如果Hive中没有对应的表,则自动创建

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--table staff 
--num-mappers 1 
--hive-import 
--fields-terminated-by "	" 
--hive-overwrite 
--hive-table staff_hive

RDBMS到HBase

需要手动创建HBase表,hbase> create 'hbase_company','info'

sqoop import 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--table staff 
--columns "id,name,sex" 
--hbase-create-table 
--hbase-table "hbase_company" 
--column-family "info" 
--hbase-row-key "id" 
--num-mappers 1 
--split-by id

HIVE/HDFS到RDBMS

MySQL中如果表不存在,不会自动创建

sqoop export 
--connect jdbc:mysql://hadoop2:3306/test 
--username root 
--password 123456 
--table staff_copy1 
--num-mappers 1 
--export-dir /user/hive/warehouse/staff_hive 
--input-fields-terminated-by "	"

执行脚本

使用opt格式的文件打包sqoop命令,然后执行

创建一个.opt文件

mkdir opt
touch opt/job_HDFS2RDBMS.opt

编写Sqoop脚本

export
--connect
jdbc:mysql://hadoop2:3306/test
--username
root
--password
123456
--table
staff_copy2
--num-mappers
1
--export-dir
/user/hive/warehouse/staff_hive
--input-fields-terminated-by
"	"

执行脚本

bin/sqoop --options-file opt/job_HDFS2RDBMS.opt
原文地址:https://www.cnblogs.com/junzifeng/p/11830857.html