大數據

DataWorks百問百答18:如何一次性同步多個MySQL(RDS)表?

問題

大家在進行數據同步時,從MySQL(RDS)里拉數據的情景比較多,尤其是在一些大型的工程中,往往面臨著分庫分表的場景。比如有多個庫,每個庫下有多個表,如果針對每一個表都去配置一個同步任務,那麼工作量將是非常繁重的。那有沒有好方法呢來一次性的同步多個表呢?答案當然是肯定的,下面就詳細介紹下這裡的技巧。

同步一個庫下的多個表

在數據集成的嚮導模式下,配置好MySQL的數據源後,在選擇表的輸入框裡,可以不停的輸入表名稱的,凡是選中的表,都會被這個任務一次性的同步到目的端去。
image.png
【注意事項】
這裡面選擇的多個表的schema需要保持一致,否則執行時會報錯。
如下圖雖然是選擇了多個表,但是配置字段映射時,其實只會調取第一個表的schema,並不會報錯,但任務執行時就會報錯了。
image.png

同步表名有規律的高級技巧

上面的模式對於一般情況下可能最夠使用了,但是還有些用戶的表非常多,比如幾百個,即便是一個個去選擇,也是個非常累的事情,但是這些表的命名都很有規律,比如table_001, table_002, table_003,.... table_xxx,此時切換到腳本模式後,使用特殊命名的方法就可以一次性設置所有表了,如下圖。
image.png
具體參數的使用請參考MySQL Reader

同步多個庫下多個表

如果要一次性同步多個庫下多個表,也是可以在嚮導模式下配置的,只需要點擊“添加數據源+”就可以增加一個數據源了,而一個數據源對應一個庫,由此也就實現了同步多庫多表
image.png
設置多庫之後的效果:
image.png
如果每個庫下還有多個表命名有規律,此時依舊可以切換到腳本模式,然後使用特殊表名命名規則來支持。

總結

使用數據集成可以靈活的支持MySQL(RDS)分庫分表場景,一次性簡單的配置,即可以滿足大批量下數據同步的需求,避免了枯燥單調的大量任務工作。您還不趕緊試一試?

DataWorks百問百答歷史記錄 請點擊這裡查看>>

更多DataWorks技術和產品信息,歡迎加入【DataWorks釘釘交流群】

Leave a Reply

Your email address will not be published. Required fields are marked *