在過去的一年里DataPipeline經(jīng)歷了幾次產(chǎn)品迭代。就最新的2.6版本而言,你知道都有哪些使用場(chǎng)景嗎?接下來將分為上下篇為大家一 一解讀,希望這些場(chǎng)景中能出現(xiàn)你關(guān)心的那一款。
場(chǎng)景一:應(yīng)對(duì)生產(chǎn)數(shù)據(jù)結(jié)構(gòu)的頻繁變更場(chǎng)景
在同步生產(chǎn)數(shù)據(jù)時(shí),因?yàn)闃I(yè)務(wù)關(guān)系,源端經(jīng)常會(huì)有刪除表,增減字段情況。希望在該情況下任務(wù)可以繼續(xù)同步。并且當(dāng)源端增減字段時(shí),目的地可以根據(jù)設(shè)置選擇是否同源端一起增減字段。
源/目的地:關(guān)系型數(shù)據(jù)庫
讀取模式:不限制
不限制DataPipeline版本
場(chǎng)景二:數(shù)據(jù)任務(wù)結(jié)束后調(diào)用Jenkins任務(wù)
數(shù)據(jù)任務(wù)同步結(jié)束,立即啟動(dòng)已定義的Jenkins任務(wù)。保證執(zhí)行的順序性,以及依賴性。
源/目的地:傳統(tǒng)性數(shù)據(jù)庫(其它需要腳本)
讀取模式:批量全量或增量識(shí)別字段
在DataPipeline任務(wù)流中創(chuàng)建任務(wù)流
創(chuàng)建定時(shí)數(shù)據(jù)同步任務(wù)
詳細(xì)操作細(xì)節(jié)請(qǐng)與DataPipeline人員溝通
場(chǎng)景三:生產(chǎn)數(shù)據(jù)同步給測(cè)試使用
MySQL->MySQL實(shí)時(shí)同步,在同步時(shí),可能測(cè)試組想要對(duì)任務(wù)中的幾張表目的地進(jìn)行測(cè)試,在測(cè)試過程中,目的地會(huì)有INSERT/UPDATE/DELETE操作。希望在測(cè)試前,能以自動(dòng)化方式執(zhí)行腳本暫停某幾張表的同步。測(cè)試結(jié)束后以自動(dòng)化方式執(zhí)行腳本重新同步這幾張表,并且目的地?cái)?shù)據(jù)需要與線上數(shù)據(jù)保持一致(即測(cè)試所產(chǎn)生的臟數(shù)據(jù)需要被全部清理掉)。
源/目的地:關(guān)系型數(shù)據(jù)庫目的地
讀取模式:不限制(全量/增量識(shí)別字段模式可能需要開啟【每次定時(shí)執(zhí)行批量同步前,允許清除目標(biāo)表數(shù)據(jù)】功能)
要求DataPipeline版本>=2.6.0
在對(duì)目的地表進(jìn)行測(cè)試前,執(zhí)行DataPipeline所提供的腳本
目的地結(jié)束測(cè)試后,再執(zhí)行腳本添加測(cè)試表
啟動(dòng)腳本,對(duì)測(cè)試的幾張表進(jìn)行重新同步,保證測(cè)試后的數(shù)據(jù)可以和線上數(shù)據(jù)繼續(xù)保持一致
場(chǎng)景四:Hive->GP列存儲(chǔ)同步速率提高方案
Hive->GP,如果GP目的地表為手動(dòng)創(chuàng)建的列存儲(chǔ)表,那么在DataPipeline上同步時(shí)速率會(huì)非常慢。這是因?yàn)镚P列存儲(chǔ)本身存在的限制。而目的地若為DataPipeline創(chuàng)建的行表,再通過腳本將行表轉(zhuǎn)換為列表,則效率提高幾十倍。
源/目的地:Hive源/GP目的地
讀取模式:增量/全量
目的地表為DataPipeline自動(dòng)創(chuàng)建的行表
編寫腳本將行表轉(zhuǎn)換為列表
數(shù)據(jù)任務(wù)同步完成后,通過DataPipeline任務(wù)流調(diào)用行轉(zhuǎn)列腳本
場(chǎng)景五:對(duì)數(shù)據(jù)進(jìn)行加密脫敏處理場(chǎng)景
因?yàn)樯婕坝脩綦[私或其它安全原因,需要對(duì)數(shù)據(jù)部分字段進(jìn)行脫敏或加密處理。通過DataPipeline的高級(jí)清洗功能可以完全滿足此類場(chǎng)景。
源/目的地:不限制
讀取模式:不限制
不限制DataPipeline版本
正常配置任務(wù)即可,只需開啟高級(jí)清洗功能
將已寫好的加密代碼或脫敏代碼打成jar包,上傳到服務(wù)器執(zhí)行目錄下,直接調(diào)用即可
注意事項(xiàng):所寫的jar包需要分別上傳webservice、sink、manager所在容器的服務(wù)器的/root/datapipeline/code_engine_lib(一般默認(rèn))目錄。
場(chǎng)景六:通過錯(cuò)誤隊(duì)列,明確上下游數(shù)據(jù)問題責(zé)任及原因
作為數(shù)據(jù)部門,需要接收上游數(shù)據(jù),并根據(jù)下游部門需求將數(shù)據(jù)傳輸給對(duì)應(yīng)部門。因此當(dāng)存在臟數(shù)據(jù)或者數(shù)據(jù)問題時(shí),有時(shí)很難定位問題原因,劃分責(zé)任。
并且大多時(shí)候都是將臟數(shù)據(jù)直接丟棄,上游無法追蹤臟數(shù)據(jù)產(chǎn)生的原因。通過DP的高級(jí)清洗功能可自定義將不符合的數(shù)據(jù)放入錯(cuò)誤隊(duì)列中。
源/目的地:不限制
讀取模式:不限制
不限制DataPipeline版本
正常配置任務(wù)即可,只需開啟高級(jí)清洗功能
高級(jí)清洗代碼可聯(lián)系DataPipeline提供模板
場(chǎng)景七:更便捷地支持目的地手動(dòng)增加字段
由Oracle->SQLServer,想在目的地手動(dòng)添加一列TIMESTAMP類型,自動(dòng)賦予默認(rèn)值,記錄數(shù)據(jù)INSERT時(shí)間。
源/目的地:關(guān)系型數(shù)據(jù)庫目的地
讀取模式:不限制
要求DataPipeline版本>=2.6.0
在DataPipeline映射頁面配置時(shí),添加一列,字段名稱和目的地手動(dòng)添加名稱一致(標(biāo)度類型任意給,無需一致)
本篇將集中介紹以上7種場(chǎng)景,如果你在工作中遇到了同樣的問題,歡迎與我們交流。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。