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 "\t"

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 "\t" \
--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 "\t" \
--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 "\t" \
--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 "\t" \
--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 "\t"

执行脚本

使用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
"\t"

执行脚本

bin/sqoop --options-file opt/job_HDFS2RDBMS.opt
posted @ 2019-11-10 16:51  指掀涛澜  阅读(239)  评论(0)    收藏  举报