文章末尾附有flinkcdc對應瀚高數據庫flink-cdc-connector代碼下載地址
1、業務需求
目前項目有主數據系統和N個業務系統,為保障“一數一源”,各業務系統表涉及到主數據系統的字段都需用主數據系統表中的字段進行實時覆蓋,這里以某個業務系統的一張表舉例說明:業務系統表TableB字段col_b3與主數據系統表TableA中col_a3不一致,需要用col_a3實時覆蓋col_b3生成目標表TableB_new中間表,業務系統存儲為國產瀚高數據庫,中間庫用TIDB。
2、需求分析
業務系統已上線多年,存在歷史數據和新數據,需要分兩個階段進行處理。
第一階段,歷史數據通過TableA、TableB聯合關聯生成中間表TableC,其中TableC中的主數據字段已用主數據進行了更新,再將TableC實時同步到瀚高數據庫中生成一個新的業務表TableB_new(TableC和TableB_new表結構一致);
第二階段,歷史數據處理結束后,業務系統直接割接到新表TableB_new,后期新的業務數據用TableB_new與主數據表TableA關聯,實時生成中間表TableC,再用FlinkCDC,實時同步TableC數據覆蓋TableB_new主數據字段。
3、具體實現
第一階段流程圖,歷史數據處理,由TableA和Tabl