大数据协作框架

sqoop导入数据

2018-03-20  本文已影响15人  明明德撩码

导入数据HDFS

准备测试数据


默认情况下导入数据至HDFS

bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \

指定目录和Mapper个数

bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--delete-target-dir  \

定义字段用制表符隔开

bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--delete-target-dir  \
--fields-terminated-by '\t'

增量导入

bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--fields-terminated-by '\t' \
--incremental append   \
--check-column id \
--last-value 4
sqoop支持两种增量导入模式,

指定文件格式

指定压缩格式导入

作业

说明:--query 'select * from my_user where $CONDITIONS and id=2'
关键字$CONDITIONS后面必须跟and

bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--query 'select * from my_user where $CONDITIONS and id=2' \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--delete-target-dir  \
--fields-terminated-by '\t'
结果
bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--columns id,account \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--delete-target-dir  \
--fields-terminated-by '\t'
执行结果
bin/sqoop import \
--connect jdbc:mysql://hadoop-senior.beifeng.com:3306/test \
--username root \
--password 123456 \
--table my_user \
--where 'id>3' \
--num-mappers 1  \
--target-dir /user/beifeng/sqoop/input  \
--delete-target-dir  \
--fields-terminated-by '\t'
执行结果
上一篇下一篇

猜你喜欢

热点阅读