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支持两种增量导入模式,
- 一种是 append,即通过指定一个递增的列,比如:
--incremental append --check-column num_iid --last-value 0
varchar类型的check字段也可以通过这种方式增量导入(ID为varchar类型的递增数字):
--incremental append --check-column ID --last-value 8 - 另种是可以根据时间戳,比如:
--incremental lastmodified --check-column created --last-value '2012-02-01 11:0:00'
-
执行结果
指定文件格式
指定压缩格式导入
作业
- query
说明:--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'
结果
- column
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'
执行结果
- where
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'