昨日阅读2.5小时,总计75小时
Link:一个Connector的实例
Job:完成数据迁移功能的分布式作业,可从某个数据源(From link)中读取数据,并导入到另一种数据源(称为“To Link)中
可以通过sqoop.sh client 进入Sqoop2提供的Shell命令行,并完成创建link,创建作业job,执行作业等一系列过程。
数据增量收集CDC
sqoop可通过MapReduce进行全量关系型数据的收集,但难以高效地增量收集数据
捕获数据源中数据的更新,进而获取增量数据的过程,被称为CDC(Change Data Capture)
方法:
1)定时扫描整表;
2)写双份数据;
3)利用触发器机制
这三种方法均有明显缺点:即性能低效,延迟高;需要修改业务层代码,一致性难以保证,不利于系统演化;管理繁琐,对DB的性能影响大。
4)基于事务或提交日志解析的方案产生了。开源的有阿里巴巴的Canal,LinkedIn的Databus。
Canal的主要定位:基于数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL关系型数据库。
主要原理:模拟数据库的主备复制协议,接收主数据库产生的Binary log,进而捕获更新数据。
多机房数据同步系统Otter(分布式数据库同步系统),是基于Canal的开源产品
有S、E、T、L(Select、Extract、Transform、Load)阶段模型