Posted on 2019-04-11 17:27
大大毛 閱讀(2011)
評論(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表,防止它爆炸