数据采集工具:flume,sqoop
sqoop:增量数据导入
使用ID来做增量导入数据:第一个问题就是导入数据不准确,数据最后一个id没法记录
如果使用增量导入,最好的方式是根据时间点导入
such as:
bin/sqoop import \
--connect \ jdbc://192.168.211.104:3306/userdb \
--username root
--password 123456 \
--table emp \
--incremental append \
--where "create_time > '2018-06-17 00:00:00' \
and create_time < '2018-06-17 23:59:59'"
\
--target-dir /sqoop/increment \
--check-column id \
--m 1
tips:
建表的时候:
creat_time默认值是当前的创建时间
update——time最开始默认值也是当前创建时间,一旦数据更新,就会变为更新的时间
减量数据如何处理:
实际工作中,删除一般都是做假删除处理
删除其实是另一种更新操作,比如设置is_delete列,需要删除时更改状态即可
如果同一条已经导入的数据在某一时刻需要更新状态,需要引入拉链表操作
拉链表:按照时间序列对数据进行排序
按照时间序列的排序,可以看到一条数据的整个过程