您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關DataPipeline的應用場景。小編覺得挺實用的,因此分享給大家學習。如下資料是關于DataPipeline的內容。
一、對分庫分表場景的支持
在同一個數據任務中,對源系統某張表,根據表中數據的業務邏輯,將數據同步到不同數據庫的不同表中,例如:將集團的銷售數據按照所屬分公司的不同同步到對應的分公司數據庫的銷售數據表中。
源/目的地:關系型數據庫
讀取模式:無限制
(1)根據設計確定分庫分表規則;
(2)根據已定規則選擇對應數據源并創建數據源;
(3)目的地將分庫分表規則按照指定格式寫入CSV文件;
(4)DP將根據已定義的CSV規則對源端數據進行分庫分表寫入目的地。
注:詳細細節可聯系DataPipeline提供開發文檔說明。
二、自定義數據源場景
目前,許多企業在數據傳輸的需求場景中,除了從上游不同業務數據庫中實時、定時分配到下游系統外,還需從外部合作商、供應商中獲取業務數據。此時,企業通常會根據需要編寫不同的腳本,手動調用第三方系統提供的API接口,在抓取數據后,自行編寫清洗邏輯,最后實現數據落地。DataPipeline的自定義數據源功能針對上面場景有以下幾點優勢:
統一管理數據獲取邏輯,快速合并JAR減少腳本開發量; 2. 當上游發生變化時,無需對每一個數據傳輸任務進行調整; 3. 可結合DataPipeline的數據解析功能、清洗工具和目標初始化功能減少整體開發量,并提供監控和預警。
源:自定義數據源
目的地:無限制
讀取模式:定時模式
(1)創建自定義數據源,并上傳JAR包(或調取已上傳過的JAR包);
(2)選擇數據存放的目的地;
(3)使用清洗工具完成數據解析邏輯;
(4)配置目的地表結構,即可完成所有配置。
注:詳情參考「自定義」數據源,解決復雜請求邏輯外部數據獲取難題請添加鏈接描述
三、MySQL源Slave1掛掉后,使用Slave2同步如何保證數據不丟失
為避免對MySQL主庫產生影響,DataPipeline連接MySQL Slave1從庫通過解析Binlog方式進行實時同步。但當Slave1掛掉時,為不影響任務,需要切換到Slave2從庫繼續進行實時同步。
但Slave2拿到的Binlog日志相較于Slave1有延遲,會導致缺失數據。
DataPipeline提供了回滾功能,用戶可在DataPipeline上將原任務回滾到到某個時間段,確保不會缺失數據,拿到對應GTID,再通過該GTID找到Slave2對應的Binlog position等信息。該操作不會缺失數據,但可能會產生重復數據(如果目的地是關系型數據庫且有主鍵,可根據主鍵去重)。
源/目的地:MySQL/關系型數據庫
讀取模式:實時模式
(1)創建數據源(Slave1,開啟Binlog同步所需條件);
(2)正常激活任務即可;
(3)假如該任務掛掉,回滾操作,拿到某個時間點的GTID值;
(4)新建另一個數據源(Slave2,開啟Binlog同步所需條件);
(5)激活起點選擇自定義(填寫Slave1,回滾時所拿到的GTID,并根據該GTID在Slave2上拿到Binlog position等信息)。
四、多個表同步到一個Kafka Topic
因為業務需求,需要將多個表同步到Kafka Topic中,以便將數據供下游使用。在DataPipeline中可以實現該場景,同時也存在一些注意事項。
源/目的地:無限制/Kafka
讀取模式:無限制(建議使用實時或增量識別字段模式,因為Kafka目的地數據無法去重)
(1)若使用不到DataPipeline的高級清洗功能,可聯系DataPipeline運維開啟一個全局參數,這樣可以在一個任務中選擇多張表寫入到同一個Kafka目的地。如果是實時模式,在該參數下,每條數據將額外附加上DML、 Insert timestamp 等字段信息,以供下游使用;
(2)如果需要使用DataPipeline高級清洗功能,則需要將這些表分布在不同任務中,寫入到同一個Kafka Topic。
五、將多個表同步到一個表
因為業務需求,需要將多個表同步到一個目的地表。在DataPipeline中可以實現,但需要注意一些事項。
源/目的地:無限制
讀取模式:無限制
(1)2.6.0以前版本需要開啟高級清洗,并在高級清洗中對所添加字段賦默認值;
(2)2.6.0以后版本不需要開啟高級清洗,需要在寫入設置中添加字段,并將藍色按鈕關閉(同步字段,但不同步數據);
(3)要求目的地在DataPipeline上的表結構必須一致,如字段缺少需對應添加。并且,需要建多個任務,將源表分布在不同任務中。
六、如何將圖片同步到HDFS
需要將各個區域的圖片統一上傳到HDFS上保存,供后續計算等使用。
源/目的地:FTP/HDFS
讀取模式:定時模式
(1)點擊文件同步;
(2)正常創建任務即可。
以上就是DataPipeline的六種應用場景,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎關注億速云行業資訊,感謝你的閱讀。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。