Sqoop增量导入

浏览: 2090

1、核心参数

–check-column,用来指定一些列,这些列在导入时用来检查做决定数据是否要被作为增量数据,在一般关系型数据库中,都存在类似Last_Mod_Date的字段或主键。注意:这些被检查的列的类型不能是任意字符类型,例如Char,VARCHAR…(即字符类型不能作为增量标识字段) 
–incremental,用来指定增量导入的模式(Mode),append和lastmodified 
–last-value,指定上一次导入中检查列指定字段最大值

2、增量模式(Mode)

1、append,在导入的新数据ID值是连续时采用,对数据进行附加 
2、lastmodified,在源表中有数据更新的时候使用,检查列就必须是一个时间戳或日期类型的字段,更新完之后,last-value会被设置为执行增量导入时的当前系统时间

1、 Append

加不加–last-value的区别在于:数据是否冗余,如果不加,则会导入源表中的所有数据导致数据冗余。

2、 Lastmodified

当使用–incremental lastmodified模式进行导入且导入目录已存在时,需要使用–merge-key或–append 
导入>=last-value的值。

3、示例

sqoop import --connect jdbc:mysql://centos:3306/sqooptest --table bigdata --username root --password 123456 --check-column last_mod_ts --incremental lastmodified --last-value "2016-10-03 22:39:43" --merge-key class_id -m 1

4、练习语句

sqoop import --connect jdbc:mysql://bigdata:3306/sqoop -username root --password mysql --table bigdata  -m 1


sqoop import --connect jdbc:mysql://bigdata:3306/sqoop -username root --password mysql --table bigdata  --check-column class_id --incremental append --last-value 7 -m 1


--冗余 去掉append

sqoop import --connect jdbc:mysql://bigdata:3306/sqoop -username root --password mysql --table bigdata  --check-column class_id --incremental append -m 1


--导入修改后的记录

sqoop import --connect jdbc:mysql://bigdata:3306/sqoop -username root --password mysql --table bigdata  --check-column last_mod_ts --incremental lastmodified --last-value '2017-08-04 00:18:45' --append -m 1


---合并hdfs已导入的表下所有文件,去重复

sqoop import --connect jdbc:mysql://bigdata:3306/sqoop -username root --password mysql --table bigdata  --check-column last_mod_ts --incremental lastmodified --last-value '2017-08-04 00:21:44' --merge-key class_id -m 1


--合并hdfs文件到本地

hadoop fs -getmerge -nl /user/root/bigdata/part-m-00000 /user/root/bigdata/part-m-00001 ./output.txt

推荐 0
本文由 niu_poop 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册