一、需求
因项目需要对数据进行实时分析展示,需要实时收集关系性数据中的数据
二、设计方案
方案一
(1)为mysql创建 trigger
(2)通过创建是trigger去触发jave程序
(3)通过java程序去触发kettle.job实现数据的抽取同步。
总结:此方案设计复杂,繁琐。
方案二
(1)使用flume抽取sql server :board表中的数据,flume只能增量抽取,无法处理更新的数据
(2)为mysql创建 trigger,通过trigger将有变更的数据存到A表中
(3)使用flume抽取A表有更新的数据
(4)在Spark Streaming 中使用RDD对这两部分数据进行处理,使用filter得到真实的数据,进行相应的计算,实现实时的功能。
总结:实现起来简单,配置下flume就实现数据收集,程序开发也简单,所以最终采用的第二种方式,详细请查看后面的博文
《Flume抽取SQL Server设计方案具体实现》