Posted on 2019-04-11 17:27
大大毛 阅读(1976)
评论(0) 编辑 收藏 所属分类:
Nifi
经常会遇到将Table从一个DB同步到另一个DB的需求,不同需求下,可使用的处理方式会有不同:
1. 使用特定的Processor
比如Upsert或自行开发的Processor
2. 在Nifi流程中自行构建SQL及其绑定参数
比如借用ConvertJsonToSQL的二次加工
3. RouteOnAttribute的分支
最多能分出Delete,Update是无能为力的,而且还要考量资料顺序
4. 仅新增 + DB层面的二次处理。这个其实是可以适用于所有情况,Nifi流程贼简单,但DB上的东西就多了
. 在收方加多一张tmp表,结构与正式表一致,但就是没有key。Nifi同步资料指到tmp表
. 在tmp表上加多Trigger,在这里面Coding去控制Insert、Update和Delete. Trigger里面除了不能Truncate Table,其它啥都能搞
. 加多一个Job或Event,定时去清tmp表,防止它爆炸