自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

蘇寧數(shù)據(jù)治理“三字經(jīng)”,太實用了!

原創(chuàng)
大數(shù)據(jù)
隨著移動互聯(lián)網(wǎng)和大數(shù)據(jù)的蓬勃發(fā)展,“數(shù)據(jù)即資產(chǎn)”的理念深入人心。大數(shù)據(jù)已發(fā)展成為具有戰(zhàn)略意義的生產(chǎn)資料,在各行各業(yè)發(fā)揮著極其重要的作用,而大數(shù)據(jù)也給很多企業(yè)帶來了前所未有的自豪感和自信感。

【51CTO.com原創(chuàng)稿件】隨著移動互聯(lián)網(wǎng)和大數(shù)據(jù)的蓬勃發(fā)展,“數(shù)據(jù)即資產(chǎn)”的理念深入人心。大數(shù)據(jù)已發(fā)展成為具有戰(zhàn)略意義的生產(chǎn)資料,在各行各業(yè)發(fā)揮著極其重要的作用,而大數(shù)據(jù)也給很多企業(yè)帶來了前所未有的自豪感和自信感。

[[340696]]

 

圖片來自 Pexels

但是,大數(shù)據(jù)真的是越“大”越好嗎?大數(shù)據(jù)到達一定的規(guī)模,其所需承載的集群資源成本、數(shù)據(jù)開發(fā)維護成本和數(shù)據(jù)管理成本,將會呈幾何式增長,同樣也將會帶來一筆巨額的開銷。

[[340697]]

 

如果缺少科學有效的治理管控,就會出現(xiàn)大量的“負”數(shù)據(jù)資產(chǎn),這不僅會吞噬公司的利潤,還會極大影響數(shù)據(jù)業(yè)務(wù)的發(fā)展以及平臺運行的穩(wěn)定。

很多大數(shù)據(jù)公司都會面臨這樣一些窘境:

  • 新開發(fā)的數(shù)據(jù)任務(wù),趕緊上,卻發(fā)現(xiàn)集群資源不夠了。
  • 早上要跑完的任務(wù),上午還沒跑完,報表什么時候能看到?
  • 上個月剛刪了很多數(shù)據(jù),存儲又快滿了,每天還有大量的數(shù)據(jù)在增長。
  • 小文件數(shù)量這么多,集群 NameNode 內(nèi)存快要爆了……

一個個頭疼的問題接踵而至,面對這些問題我們是不是得換一個視角,給大數(shù)據(jù)集群資源來一場瘦身,取其精華、去其糟粕,讓大數(shù)據(jù)集群資源環(huán)境更加健康,數(shù)據(jù)開發(fā)工作更加高效,公司投入產(chǎn)出比更加合理。

所以,大數(shù)據(jù)集群資源治理(以下簡稱“治理”)的工作亟待開展。

治理為何難以推動?

大多數(shù)公司在大數(shù)據(jù)發(fā)展初期都是野蠻生長的,它們更關(guān)注的是擁有更多的數(shù)據(jù),更快速的完成數(shù)據(jù)業(yè)務(wù)開發(fā),即使集群資源不夠了,增加機器遠比開展治理來得更快。

治理工作涉及眾多的職能線與部門,角色不同,立場不同,治理投入度也不同。

即使集群資源達到一定規(guī)模,不得不治理時,各組織仍會以開發(fā)業(yè)務(wù)為核心,治理工作對他們來說優(yōu)先級并不高,這也直接影響著治理效果。

治理工作如何開展?

蘇寧認為,治理工作需要從組織保障和治理工具兩方面協(xié)同推進。公司的支持至關(guān)重要,有助于建設(shè)統(tǒng)一的數(shù)據(jù)文化,推進成立數(shù)據(jù)治理委員會,明確各組織的職責,制定治理制度、標準和流程等,以專職的治理團隊負責治理工具建設(shè)和整體運營推進。

不同于傳統(tǒng)數(shù)據(jù)資產(chǎn)管理,大數(shù)據(jù)集群資源治理聚焦計算資源和存儲資源的縮容,在保障平臺性能和穩(wěn)定性的同時,又需要考量數(shù)據(jù)資產(chǎn)管理的賦能。

大數(shù)據(jù)集群資源的治理工作應(yīng)結(jié)合公司現(xiàn)狀,集中精力解決當前最大痛點,優(yōu)先治理緊急的、投入產(chǎn)出比高的治理項。

對于緊急的治理項,如果涉及的部門和用戶較少,能夠通過面對面、郵件、社交媒體進行溝通,在短時間內(nèi)解決的,采用線下手工治理方式。

對于非緊急治理項,涉及的部門和用戶較廣,并且需要長期治理的,則采用線上工具輔助治理,以減少人力投入成本。

為此,蘇寧啟動了“巡湖工程”、“千遷工程”等專項治理工程:

  • 巡湖工程,主要任務(wù)是對大數(shù)據(jù)集群資源進行全面的巡檢和治理。
  • 千遷工程,是對高算力的 Hive 任務(wù),進行分批次遷移至 SparkSQL 計算平臺,同時保障治理工作的全面性和聚焦性。

在治理工作方式的演進上,蘇寧采用了四個步驟:線下手工治理、半工具化治理、工具化治理和自驅(qū)動治理,最終實現(xiàn)各組織自我驅(qū)動型的治理常態(tài)。

 

典型治理場景和方案

大數(shù)據(jù)集群資源治理是一項龐大且復(fù)雜的工程,蘇寧結(jié)合自己的治理經(jīng)歷,從計算治理、存儲治理、性能和穩(wěn)定性治理三個方面,分享一下典型的治理場景和解決方案。

計算治理

毫無疑問,CPU 和內(nèi)存是集群的稀缺資源,保障集群資源算力是首要任務(wù)。

一旦計算資源缺乏,將面臨數(shù)據(jù)采集、數(shù)據(jù)存儲、數(shù)據(jù)加工、數(shù)據(jù)稽核等一系列數(shù)據(jù)作業(yè)的延誤,甚至崩潰。

如何降低計算資源的消耗,提高任務(wù)執(zhí)行的性能,縮短任務(wù)產(chǎn)出的時間,是計算治理的核心目標。

以下主要從任務(wù)復(fù)算治理、任務(wù)異常治理、任務(wù)削峰平谷治理、任務(wù)資源配置治理、計算框架優(yōu)化幾個角度,分別介紹計算治理優(yōu)化。

①任務(wù)復(fù)算治理

數(shù)倉建設(shè)過程中,往往存在事實表與維度表多次關(guān)聯(lián)、事實表與事實表多次關(guān)聯(lián)的現(xiàn)象,造成數(shù)據(jù)的重復(fù)計算。

任務(wù)復(fù)算治理,是面向大數(shù)據(jù)離線任務(wù) Hive、SparkSQL 等 SQL 類的任務(wù),通過對表與表關(guān)聯(lián)的 union、join、子查詢復(fù)雜關(guān)聯(lián)等語法進行解析,識別重復(fù)計算的任務(wù)及其讀取的關(guān)聯(lián)表(源表)數(shù)據(jù),并以此推動公共模型建設(shè),減少任務(wù)重復(fù)計算。

其中,表關(guān)聯(lián) union 方式識別比較簡單,示例如下:

 

②任務(wù)異常治理

任務(wù)出錯率是衡量任務(wù)是否需要治理的重要指標,出錯率過高意味著這個任務(wù)是沒有價值的,一般可以被清除。如果任務(wù)確實需要使用,則必須進行優(yōu)化。

以下作為一個參考,閾值可根據(jù)實際情況進行調(diào)整:

 

另外,當任務(wù)的目標表在一個或多個調(diào)度周期內(nèi)未作更新,可認定為該任務(wù)未產(chǎn)出數(shù)據(jù),任務(wù)清除下線的可能性很大。

③任務(wù)削峰平谷治理

從全天來看,任務(wù)執(zhí)行會有明顯的忙閑時之分。大部分公司的忙時主要集中在凌晨 0 點至 8 點,其余時間段相對為閑時,這就造成了忙時計算資源嚴重緊缺。

大家都想在早上 8 點前跑完任務(wù),但是不是每個忙時任務(wù)都有這個必要呢?通過對忙時任務(wù)產(chǎn)出表的被讀時間進行分析,可以識別出不合理調(diào)度執(zhí)行的任務(wù)。

比如,如果任務(wù)在早上 8 點跑完,其寫入的目標表在中午 12 點才被讀取,是否可以將該任務(wù)避開忙時執(zhí)行?

④任務(wù)資源配置治理

這里主要談一下 Spark Streaming 實時任務(wù)資源治理。Spark Streaming 和 Spark 處理邏輯是相同的,都是收到外部數(shù)據(jù)流之后按照時間切分。

“微批”處理一個個切分后的文件,往往會存在資源分配過多的現(xiàn)象,這很容易被識別。

 

由上圖可見,將數(shù)據(jù)按照時間劃分成 N 等分。假設(shè)每批次 A 的間隔時長:batch_time;處理 B 的時長:total_delay;等待 C 的時長:wait_time。

當出現(xiàn) batch_time>>total_delay 時,當前任務(wù)占用的資源會浪費 wait_time。

通過縮減任務(wù)資源或多個任務(wù)合并成一個任務(wù)的方式來治理,都可以提升資源利用率。

雖然 total_delay 會加長,只要整體處理時間還在原定計劃內(nèi),即可滿足業(yè)務(wù)需求。

⑤計算框架優(yōu)化

計算框架越來越多,也越來越成熟完善,選擇適合自己的計算框架是關(guān)鍵。比如,由 Hive 任務(wù)遷移至 SparkSQL 任務(wù)、Storm 任務(wù)遷移至 Flink 任務(wù),會帶來性能上的明顯提升。

但是,在海量數(shù)據(jù)任務(wù)的前提下,任務(wù)遷移絕非易事,需要綜合考慮遷移的方案以及涉及的成本和風險。

存儲治理

在數(shù)據(jù)爆發(fā)式增長的今天,存儲資源的有效使用也面臨著一系列的挑戰(zhàn)。如何降低存儲資源的消耗,節(jié)省存儲成本,是存儲治理的目標。

以下主要從生命周期管理、數(shù)據(jù)壓縮治理、數(shù)據(jù)復(fù)存治理、數(shù)據(jù)價值治理幾個角度介紹存儲治理優(yōu)化。

①生命周期管理

根據(jù)表生命周期對表進行清理刪除,是最常見有效的存儲治理方式。為降低數(shù)據(jù)丟失風險,可以先對表進行 rename 或通過 ranger 禁止表讀寫權(quán)限(相當于邏輯刪除),7 天觀察期過后刪除至回收站,回收站默認保留 3 天后進行最終刪除。

如果表的生命周期設(shè)置不合理(過長),也可以根據(jù)表的類型、業(yè)務(wù)情況進行稽核整改。

②數(shù)據(jù)壓縮治理

數(shù)據(jù)壓縮治理是最簡單有效的存儲治理方式。數(shù)據(jù)壓縮的好處顯而易見,可以直接節(jié)省磁盤空間,提升磁盤利用率,并且加速網(wǎng)絡(luò)傳輸。

但同時數(shù)據(jù)的壓縮和解壓,需要消耗計算資源。如果集群計算資源緊缺,并且數(shù)據(jù)經(jīng)常被讀,則建議根據(jù)實際場景選擇合適的數(shù)據(jù)壓縮方式。

在不同的存儲格式和壓縮算法下,簡單查詢、大寬表查詢和復(fù)雜查詢的執(zhí)行表現(xiàn)均有差異,具體需結(jié)合實際場景選擇使用。

③數(shù)據(jù)復(fù)存治理

比較簡單的方式是通過解析 Hive 任務(wù)、SparkSQL 任務(wù)的代碼邏輯,分析代碼中的讀表、寫表、條件、字段函數(shù),識別讀表和寫表是否重復(fù)存儲。

另外,也可以通過表名、字段名的相似度進行識別,并結(jié)合某些周期產(chǎn)出數(shù)據(jù),抽樣進行相似度對比分析和識別。

如果表數(shù)據(jù)出現(xiàn)重復(fù)存儲,還需要根據(jù)鏈路血緣關(guān)系找出上游任務(wù),對整個鏈路上的表及上游任務(wù)實施“一鍋端”治理。

④數(shù)據(jù)價值治理

梳理當前業(yè)務(wù)價值,從數(shù)據(jù)應(yīng)用層(包括報表、指標、標簽)源頭分析投入產(chǎn)出比,對整體鏈路資源進行“從上至下”的價值治理。

如果表長時間未作更新(如 32 天)或未被讀取,往往表明這張表價值很低,甚至沒有價值,則可對表進行清理刪除,這時可以優(yōu)先考慮治理大表、分區(qū)表、高成本表。

性能和穩(wěn)定性治理

集群的性能和穩(wěn)定性治理涉及眾多方面,這里重點談一下小文件治理和數(shù)據(jù)傾斜治理。

①小文件治理

HDFS 雖然支持水平擴展,但是不適合大量小文件的存儲。因為 NameNode 將文件系統(tǒng)的元數(shù)據(jù)存放在內(nèi)存中,導(dǎo)致存儲的文件數(shù)目受限于 NameNode 內(nèi)存大小。當集群到了一定規(guī)模,NameNode 內(nèi)存就會成為瓶頸。

小文件治理需要根據(jù)當前集群的文件數(shù)量,定義合適的小文件大小,比如小于 1M。

治理方式需要考慮從源頭控制,在任務(wù)中配置文件合并參數(shù),在 HDFS 存儲之前進行小文件合并,但這又會延長任務(wù)執(zhí)行時間。

所以,可選擇在閑時進行周期性的小文件合并。另外,也可以設(shè)置小文件占比閾值,根據(jù)閾值觸發(fā)小文件合并。

②數(shù)據(jù)傾斜治理

很多時候,我們在用 Hive 或 Spark 任務(wù)取數(shù),只是跑了一個簡單的 join 語句,卻跑了很長時間,往往會覺得這是集群資源不夠?qū)е碌?,但是很大情況下,是出現(xiàn)了“數(shù)據(jù)傾斜”的情況。

數(shù)據(jù)傾斜,在 MapReduce 編程模型中十分常見,大量的相同 key 被 partition 分配到一個分區(qū)里,造成了“某些任務(wù)累死,還拖了后腿,其他任務(wù)閑死”的情況,這并不利于資源最大化的有效利用。

 

由上圖可見,通過對任務(wù)執(zhí)行的監(jiān)控日志分析,可以很方便的找出數(shù)據(jù)傾斜任務(wù)。

結(jié)合具體產(chǎn)生原因、數(shù)據(jù)分布和業(yè)務(wù)變化,有針對性的優(yōu)化任務(wù),任務(wù)執(zhí)行時間能縮短幾十倍以上,效果非常明顯。

治理工具需要具備哪些能力?

面向治理責任人、項目主管、公司領(lǐng)導(dǎo)及治理運營人員,蘇寧構(gòu)建了統(tǒng)一的集群資源治理平臺,全局把控集群計算資源、存儲資源、性能和穩(wěn)定性的整體情況,通過平臺“識別通知、治理優(yōu)化、監(jiān)督考核”的支撐能力,實現(xiàn)一站式治理服務(wù)和閉環(huán)流程,降低治理投入的工作量,提升治理成效。

 

后記

蘇寧建設(shè)了較為成熟的數(shù)據(jù)治理體系和標準流程,多項治理工作同步推進,均取得了顯著的成果,為公司節(jié)約了可觀的服務(wù)器資源投入成本。

并且,隨著治理工作的推進,各組織也更主動的開展源頭治理,大大減輕了事后治理的工作量。

治理工作不會一蹴而就,也不如前端業(yè)務(wù)那么容易出彩,顯得“樸實無華”。每一位治理工作者都在背后默默的堅守付出,孜孜不倦地保障著大數(shù)據(jù)集群資源的最大化有效利用。

未來,蘇寧大數(shù)據(jù)治理團隊仍將持續(xù)推進治理工作,進一步提升治理工具產(chǎn)品支撐能力,賦能治理工作常態(tài)化、工具化和智能化。

我們崇尚科技與藝術(shù)的結(jié)合,最后賦詩一首,希望能幫助有需要的同仁更好的理解這項工作,更快的實現(xiàn)治理目標。

《蘇寧數(shù)據(jù)治理 三字經(jīng)》

--韋真

數(shù)之初,量本小。猛增長,遇瓶頸。

缺管理,實難控。若不治,隨可崩。

若廣治,懼其繁。治之道,貴以專。

高層挺,強執(zhí)行。定職責,齊協(xié)作。

察現(xiàn)狀,診問題。能識別,準定位。

控增量,降存量。攤成本,明方向。

始源頭,理價值。視場景,擇平臺。

宜壓縮,需清理。去冗余,平峰谷。

治理急,線下先。累經(jīng)驗,建工具。

能優(yōu)化,可評估。須考核,納監(jiān)督。

體系化,智能化。一站式,閉環(huán)式。

存儲易,算力難。若有方,皆可成。

作者:韋真

簡介:蘇寧科技集團蘇寧智能 BU 大數(shù)據(jù)中心數(shù)據(jù)治理團隊負責人,全面負責蘇寧數(shù)據(jù)資產(chǎn)管理和大數(shù)據(jù)集群資源治理工作。長期致力于數(shù)據(jù)治理領(lǐng)域的研究與實踐,曾服務(wù)于運營商、政府、公安等多類行業(yè)客戶,在數(shù)據(jù)治理領(lǐng)域有著豐富的產(chǎn)品規(guī)劃、產(chǎn)品建設(shè)和運營實踐經(jīng)驗。

編輯:陶家龍

征稿:有投稿、尋求報道意向技術(shù)人請聯(lián)絡(luò) editor@51cto.com

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2023-10-26 09:00:00

數(shù)字經(jīng)濟數(shù)據(jù)治理大數(shù)據(jù)

2024-11-28 08:00:00

2018-11-07 10:00:00

微服務(wù)Service MesIstio

2012-07-02 10:13:58

蘇寧電器智慧商務(wù)

2013-02-20 10:07:29

蘇寧電器蘇寧云商云服務(wù)

2024-12-20 17:29:34

SpringBootAOP開發(fā)

2022-04-19 13:07:25

SchedulePython

2018-05-09 14:45:50

蘇寧前端Nodejs

2022-03-18 09:25:49

Python圖片PDF

2021-05-19 15:06:44

MySQL數(shù)據(jù)庫命令

2023-12-22 09:14:48

EDA數(shù)據(jù)分析探索性數(shù)據(jù)分析

2020-06-29 11:05:26

GitHub代碼開發(fā)者

2015-09-10 18:33:17

99無限京東蘇寧

2024-12-27 08:43:17

2016-11-10 19:31:00

蘇寧雙11

2018-11-08 09:40:04

蘇寧智能維護系統(tǒng)Python

2022-12-12 09:01:03

2013-10-31 09:49:07

2018-11-12 12:45:19

2015-08-05 13:24:15

點贊
收藏

51CTO技術(shù)棧公眾號