返回列表

作者:巨人電商

如何從0到1開始做大數(shù)據(jù)治理(下)

POST TIME:2021-04-11

摘要:上篇講了大數(shù)據(jù)治理的背景、目標(biāo)、核心,本篇進入實踐環(huán)節(jié),聊聊具體如何實施大數(shù)據(jù)治理、大數(shù)據(jù)治理的步驟及效果驗證。04 數(shù)據(jù)治理的實施1. 存儲優(yōu)化數(shù)據(jù)膨脹是

上篇講了大數(shù)據(jù)治理的背景、目標(biāo)、核心,本篇進入實踐環(huán)節(jié),聊聊具體如何實施大數(shù)據(jù)治理、大數(shù)據(jù)治理的步驟及效果驗證。

04   數(shù)據(jù)治理的實施1. 存儲優(yōu)化

數(shù)據(jù)膨脹是大數(shù)據(jù)治理最先要解決的問題,它直接關(guān)系到成本問題,解法是進行存儲優(yōu)化,也就是設(shè)計規(guī)范化的存儲策略,提高數(shù)據(jù)的共享程度。

從空間方面思考:

第一個關(guān)鍵詞是合并,即合并冗余表。一方面是掃描數(shù)據(jù)表的依賴關(guān)系,上游表相似,表字段也相似,判斷可能是冗余表,只留一個。另一方面把高度重合的表合并,從小表變大表。

第二個關(guān)鍵詞是舍棄,即舍棄冗余字段。有些字段并沒有多大存儲意義,或者可以從其他來源處獲取,可以從數(shù)據(jù)表中剔除。

第三個關(guān)鍵詞是拆分,即內(nèi)容壓縮。例如通過一個數(shù)據(jù)壓縮節(jié)點把大json字段拆分成幾個內(nèi)容字段,把格式相關(guān)的部分舍棄,需要還原的時候再通過數(shù)據(jù)解壓縮節(jié)點逆向還原回來。平均可帶來30%的存儲空間釋放。

從時間方面思考

第一個關(guān)鍵詞是生命周期。合理規(guī)劃數(shù)據(jù)的生命周期,不同層的數(shù)據(jù)保留時間不一樣。有的需要永久保存,有的不需要永久保存。

第二個關(guān)鍵詞是冷熱。對于那些暫時沒有業(yè)務(wù)調(diào)用的冷數(shù)據(jù),壓縮歸檔。

鳥哥筆記,數(shù)據(jù)運營,一個數(shù)據(jù)人的自留地,用戶研究,分析方法,產(chǎn)品運營,用戶研究,數(shù)據(jù)驅(qū)動,數(shù)據(jù)分析

除了通用化的策略外,不同行業(yè),不同類型的數(shù)據(jù)還有自身特性化的治理策略。例如設(shè)備在某一個位置停留時間過久,回傳了大量的重復(fù)坐標(biāo)。

2. 計算優(yōu)化

計算優(yōu)化的目的一是節(jié)省運算資源,二是提高數(shù)據(jù)加工處理的速度,縮短數(shù)據(jù)生產(chǎn)周期。

第一個優(yōu)化點是避免在異常數(shù)據(jù)上浪費算力。有些數(shù)據(jù)雖然格式上沒有問題,但實際上根據(jù)業(yè)務(wù)場景的定義是異常的,可以忽略。還例如某個設(shè)備是故障的,將它識別出來后它所產(chǎn)生的數(shù)據(jù)都不再參與計算。

第二個優(yōu)化點是識別并應(yīng)對數(shù)據(jù)傾斜。所謂數(shù)據(jù)傾斜有兩種情況,一種是某一塊區(qū)域的數(shù)據(jù)大于其他區(qū)域,另一種是某一些數(shù)據(jù)的大小要遠遠大于平均值。對存在數(shù)據(jù)傾斜的部分進一步分割,可以加速計算。

第三個優(yōu)化點是提升核心UDF的性能。UDF 的性能很大程度上決定了處理流程的時間長短。通過代碼審查,找出性能可以優(yōu)化的節(jié)點進行代碼優(yōu)化。另外,將Python的UDF改成Java的UDF也可以提升一部分性能。

第四個優(yōu)化點是引擎配置調(diào)優(yōu),例如開啟數(shù)據(jù)壓縮傳輸、合理設(shè)置map/reduce數(shù)、合理應(yīng)用Hash/Range Cluster索引機制等。

第五個優(yōu)化點是將MR streaming節(jié)點改寫為SELECT TRANSFORM方式。SELECT TRANSFORM的性能很好,而且也更靈活,能夠提高計算節(jié)點的可擴展性。

【拓展】SELECT TRANSFORM介紹

很多時候我們面對的是這么一種場景,SQL內(nèi)置的函數(shù)不能支持把數(shù)據(jù)A變成數(shù)據(jù)B的功能,所以我們用一個腳本來實現(xiàn),而我們又想讓它分布式的執(zhí)行。這樣的場景可以用使用SELECT TRANSFORM來實現(xiàn)。

SELECT TRANSFORM功能允許SQL用戶指定啟動一個子進程,將輸入數(shù)據(jù)按照一定的格式通過stdin輸入子進程,并且通過解析子進程的stdout輸出來獲取輸出數(shù)據(jù)。SELECT TRANSFORM非常靈活,不僅支持java和python,還支持shell,perl等其它腳本和工具。

3. 工具提效

大數(shù)據(jù)治理需要牽扯到大量的表和節(jié)點上線、下線、測試、添加監(jiān)控等,如果每個環(huán)節(jié)都需要人工操作,都要耗費很多人力,因此使用一些自動化和半自動工具可以顯著提高效率,減少人工成本。

主要涉及到了數(shù)據(jù)比對工具、節(jié)點批量下線工具、自動化測試工具等。

05  數(shù)據(jù)治理的步驟

大數(shù)據(jù)治理與業(yè)務(wù)的正常發(fā)展是同步進行的,這就需要一個平滑的過渡過程。

1. 增量數(shù)據(jù)灰度平遷

這一步的作用是驗證經(jīng)過治理后的數(shù)據(jù)是下游數(shù)據(jù)應(yīng)用方可以正常使用的,可以滿足業(yè)務(wù)方使用數(shù)據(jù)的需求。主要需要解決好新舊數(shù)據(jù)表字段映射、字段擴展后數(shù)據(jù)補錄等問題。

業(yè)務(wù)的遷移按照灰度原則,先遷業(yè)務(wù)輕體量小的,后遷業(yè)務(wù)重體量大的。分批次遷移之后持續(xù)跟蹤、分析數(shù)據(jù)波動情況,一旦發(fā)現(xiàn)問題及早修復(fù),以保障數(shù)據(jù)質(zhì)量的可靠性。

2. 存量數(shù)據(jù)遷移

在增量數(shù)據(jù)上驗證通過后,下一步就是遷移存量數(shù)據(jù)了。這一步需要關(guān)注的是存儲空間的問題,一次性增加太多的新數(shù)據(jù)存儲,舊數(shù)據(jù)來不及釋放,會使得存儲壓力大增。

鳥哥筆記,數(shù)據(jù)運營,一個數(shù)據(jù)人的自留地,用戶研究,分析方法,產(chǎn)品運營,用戶研究,數(shù)據(jù)驅(qū)動,數(shù)據(jù)分析

06   數(shù)據(jù)治理的效果驗證

大數(shù)據(jù)治理的效果體現(xiàn)在數(shù)據(jù)存儲成本是否降低、數(shù)據(jù)產(chǎn)出周期是否縮短、數(shù)據(jù)質(zhì)量是否提高、數(shù)據(jù)量增長勢頭是否減緩等方面。

總結(jié)

大數(shù)據(jù)治理的過程是一個很好的梳理現(xiàn)有業(yè)務(wù)的機會。一次成功的數(shù)據(jù)治理不僅給企業(yè)帶來成本、效能上的改善,還鍛煉了數(shù)據(jù)團隊,為數(shù)據(jù)價值體系建設(shè)奠定了基礎(chǔ)。

  以上就是為大家介紹的如何從0到1開始做大數(shù)據(jù)治理(下),希望對大家有所幫助,現(xiàn)在互聯(lián)網(wǎng)已經(jīng)進入到了短視頻時代,如果需要抖音廣告開戶,抖音直播間付費推廣開戶或者托管的,都可以找我們咨詢,現(xiàn)在開戶優(yōu)惠多多,還有返點,添加微信了解:veteran88