otter學習(四)—— 實踐二:擴展同步

閱讀完實踐一的小夥伴肯定心想,如果只是單表同步,那我直接mysql的主從即可,何必搞得這麼麻煩。

        雖然otter可以加速同步,但是國內的環境很少有達到阿里的那個場景的啊。

 

        這時,我們就要開始第二次實踐,體驗otter的高擴展性了。

        還是以實踐一的場景爲例子,但是,我們做一些擴展:

                假設我在同步的時候,把目標庫數據平臺當成數據倉庫,以後全國所有的倉庫都需要往數據平臺寫t_inventory_bin表數據,

                同時,有些數量字段不需要,只需要保留總數即可。

                此外,需要增加一個最後操作時間

       

        此時,我們分析需求,得到如下幾點小結:

                1.目標庫t_inventory_bin需要用warehouse_id字段來標識某條數據來源於某個倉庫

                2.目前warehouse_id字段各個倉庫並沒有區分開,也就是說我們需要根據不同的倉庫,重新賦值warehouse_id

                3.拋棄掉總數以外的其他數量字段

                4.增加一個最後操作時間

 

        那麼,我們該怎麼做呢?

一、修改目標表sql

        源sql爲

        

        修改後sql爲

        

        可以看到,我們去除了無用字段,增加了一個更新時間

二、編寫自定義轉義代碼

        otter的設計模型爲s\e\t\l,我們可以通過增加自定義處理代碼來實現高擴展性。詳見otter擴展性

        廢話不多說,我們來看下如何通過轉義代碼來實現我們的需求

        

三、將我們的自定義代碼植入到otter中

        1.找到我們之前配置的映射關係,點擊編輯,進入到映射關係第一頁。

         EventProcessor類型選擇source,即源碼模式。然後將我們的自定義代碼黏貼到EventProcessor文本的文本框中,點擊保存即可

完成

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章