国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

數據治理實踐 | 網易某業務線的計算資源治理

大數據 數據分析
對于調度優化一開始會無從下手,統計凌晨2-5點區間下大概600+任務難梳理,同時存在任務依賴,修改起來可能會對下游整體有大的影響,因此我們選擇循序漸進先梳理再改善。

?本文從計算資源治理實踐出發,帶大家清楚認識計算資源治理到底該如何進行,并如何應用到其他項目中。

01前言

由于數據治理層面可以分多個層面且內容繁多(包括模型合規、數據質量、數據安全、計算/存儲資源、數據價值等治理內容),因此需要單獨拆分為6個模塊單獨去闡述其中內容。

筆者作為數倉開發經常會收到大量集群資源滿載、任務產出延時等消息/郵件,甚至下游數分及其他同學也會詢問任務運行慢的情況,在這里很多數倉同學遇到這類問題第一想到的都是加資源解決,但事實真不一定是缺少資源,而是需要優化當前問題任務。所以本期從團隊做計算資源治理視角出發,帶大家清楚認識計算資源治理到底該如何進行。

02問題出現

在做計算治理之前(2022.12)我們團隊盤點了下當前計算資源存在的幾個問題:

(1)30+高消耗任務:由于數倉前中期業務擴張,要覆蓋大量場景應用,存在大量問題代碼運行時數據傾斜,在消耗大量集群計算資源下,產出時間也久;

(2)200w+的小文件:當前任務存在未合并小文件、任務Reduce數量過多、上游數據源接入(尤其是API數據接入)會造成過多小文件出現,小文件過多會開啟更多數據讀取,執行會浪費大量的資源,嚴重影響性能;

(3)任務調度安排不合理:多數任務集中在凌晨2-5點執行且該區間CPU滿載,導致該時間段資源消耗成了重災區,所有核心/非核心任務都在爭搶資源,部分核心任務不能按時產出一直在等待階段;

(4)線上無效DQC(數據質量監控)&監控配置資源過小:存在部分歷史任務沒下線表及DQC場景,每日都在空跑無意義DQC浪費資源,同時DQC資源過少導致DQC需要運行過長時間;

(5)重復開發任務/無用任務:早期協助下游做了較多煙囪數據模型,因為種種原因,部分任務不再被使用,煙囪模型分散加工導致資源復用率降低;

(6)任務缺少調優參數&部分任務仍然使用MapReduce/Spark2計算引擎:任務缺少調優參數導致資源不能適配及動態調整,甚至線上仍有早期配置MapReduce/Spark2計算引擎導致運行效率較低。

03思考與行動

3.1 治理前的思考:?

在治理之前我想到一個問題,切入點該從哪里開始最合適?

經過與團隊多次腦暴對當前治理優先級/改動成本大小/難度做了一個排序,我們先選擇從簡單的參數調優&任務引擎切換開始->小文件治理->DQC治理->高消耗任務治理->調度安排->下線無用模型及沉淀指標到其他數據資產,同時在初期我們完成各類元數據接入搭建治理看板以及團隊治理產出統計數據模型,并通過網易數帆提供的數據治理平臺解決具體細節問題。

圖片

(數據治理平臺截圖)

3.2 治理行動:

(1)大部分任務切換至Spark3計算引擎&補充任務調優參數

補充Spark調優參數(參數內容詳見文末),任務統一使用Spark3引擎加速,并充分利用Spark3的AQE特性及Z-Order排序算法特性。

AQE解釋:Spark 社區在 DAG Scheduler 中,新增了一個 API 在支持提交單個 Map 階段,以及在運行時修改 shuffle 分區數等等,而這些就是 AQE,在 Spark 運行時,每當一個 Shuffle、Map 階段進行完畢,AQE 就會統計這個階段的信息,并且基于規則進行動態調整并修正還未執行的任務邏輯計算與物理計劃(在條件運行的情況下),使得 Spark 程序在接下來的運行過程中得到優化。

Z-Order解釋:Z-Order 是一種可以將多維數據壓縮到一維的技術,在時空索引以及圖像方面使用較廣,比如我們常用order by a,b,c 會面臨索引覆蓋的問題,Z-Order by a,b,c 效果對每個字段是對等的

(2)小文件治理

在這里我們使用內部數據治理平臺-數據治理360對存在小文件較多表提供內容展示(本質采集HDFS對應路徑下文件數的日志去顯示)

當前小文件處理:

對于分區較多使用Spark3進行動態分區刷新,(Spark3具備小文件自動合并功能,如未使用Spark3可配置Spark3/Hive小文件合并參數刷新,參數詳見文末),代碼如下:

set hive.exec.dynamic.partition.mode=nonstrict;
insert overwrite table xxx.xxx partition (ds)
select column
,ds
from xxx.xxx

對于分區較少或未分區的表采用重建表,補數據方法回刷。

小文件預防:

  • 使用Spark3引擎,自動合并小文件
  • 減少Reduce的數量(可以使用參數進行控制)
  • 用Distribute By Rand控制分區中數據量
  • 添加合并小文件參數 
  • 將數據源抽取后的表做一個任務(本質也是回刷分區合并小文件任務)去處理小文件保障從數據源開始小文件不向下游流去

(3)DQC治理

無效DQC下線:難點在于需要查找所有DQC對應的線上任務,查看該DQC任務是否與線上任務一一匹配,從而找到無效DQC任務下線,內容繁雜耗時較多。

DQC資源:由于之前DQC配置資源為集群默認參數,效率極低導致所有DQC運行時長均超過10min,從而使得整體任務鏈路運行時長過久,調整Driver內存為2048M,Executor個數為2,Executor內存為4096M

(4)高消耗任務調優

這里存在2個難點:優化效果不可控、高消耗任務調整到何種程度算合適,針對這個這個難點我們取所有核心數據資產任務均值,保障單個任務消耗小于平均消耗,同時我們針對當前高消耗任務列舉出如下可優化的方式:

  • 關聯表過多,需拆分
  • 關聯時一對多,數據膨脹
  • 資源配置過多,運行時資源嚴重浪費,需要將配置調小(包括Driver內存、Executor個數、Executor內存)
  • 代碼結尾添加Distribute By Rand(),用來控制Map輸出結果的分發
  • 查詢中列和行未裁剪、分區未限定、Where條件未限定
  • SQL中Distinct切換為Group by(Distinct會被hive翻譯成一個全局唯一Reduce任務來做去重操作,Group by則會被hive翻譯成分組聚合運算,會有多個Reduce任務并行處理,每個Reduce對收到的一部分數據組,進行每組聚合(去重))
  • 關聯后計算切換為子查詢計算好后再關聯
  • 使用Map Join(Map Join會把小表全部讀入內存中,在Map階段直接拿另外一個表的數據和內存中表數據做匹配,由于在Map是進行了Join操作,省去了Reduce運行的效率也會高很多)可用參數代替

(5)任務調度合理優化

對于調度優化一開始會無從下手,統計凌晨2-5點區間下大概600+任務難梳理,同時存在任務依賴,修改起來可能會對下游整體有大的影響,因此我們選擇循序漸進先梳理再改善。

  • 找到所有表的輸出輸入點即啟始ODS與末尾ADS
  • 劃分其中核心表/非核心表,及對應任務開始時間與結束時間
  • 按照梳理內容把非核心的任務穿插在當前集群資源非高峰時期(2點前與5點后),同時把核心任務調度提前,保障CDM層任務及時產出
  • 對實踐后內容再度調優,達到資源最大利用率

(6)煙囪任務下沉&無用任務下線

煙囪表過多,需下沉指標到DWS中提升復用性,對于無用任務也需要及時下線(這里需要拿到元數據血緣最好到報表層級的數據血緣,防止任務下線后導致可視化內容問題產生),減少開發資源消耗。

04治理效果

(1)Hive與Spark2任務升級Spark3.1,總計升級任務137個,升級任務后總體任務執行效率提升43%,cpu資源消耗降低41%,內存資源消耗降低46%

(2)治理小文件數大于10000+以上的數倉表總計30+張,小文件總數由216w下降至67w

(3)下線無效DQC任務總計50+,修改DQC配置資源降低運行時長,由原來10min優化至3min內

(4)完成線上20+個任務優化及10+個任務下線及10+表指標下沉,優化后節省任務耗時146分鐘,減少CPU損耗800w+,降低內存消耗2600w+(相當于節省了8個200+字段1億數據量任務消耗)

(5)調度重新分配后2-5點資源使用率由90+%降低至50+%,保障日用資源趨勢圖無大突刺波動

05小結

計算資源治理核心在于降本增效,用有限資源去運行更多任務,通過一系列治理操作也讓數倉同學積累技術經驗同時規范化自身開發標準,讓治理反推進組內技術進步。

計算資源治理是一件長久之事,并不能因為資源緊張才去治理,而要將計算治理常態化,可通過周/月資源掃描內容及時推送給每個同學,并為之打分,讓每個任務都有源可循,有方法可優化。

參數內容

參數并不是設置越多任務性能越好,根據數據量、消耗、運行時間進行調整達到合理效果。

Hive:

(1)set hive.auto.convert.join = true; (是否自動轉化成Map Join)

(2)set hive.map.aggr=true; (用于控制負載均衡,頂層的聚合操作放在Map階段執行,從而減輕清洗階段數據傳輸和Reduce階段的執行時間,提升總體性能,該設置會消耗更多的內存)

(3)set hive.groupby.skewindata=true; (用于控制負載均衡,當數據出現傾斜時,如果該變量設置為true,那么Hive會自動進行負載均衡)

(4)set hive.merge.mapfiles=true;  (用于hive引擎合并小文件使用)

(5)set mapreduce.map.memory.mb=4096;      (設置Map內存大小,解決Memory占用過大/小)

(6)set mapreduce.reduce.memory.mb=4096;(設置Reduce內存大小,解決Memory占用過大/小)

(7)set hive.exec.dynamic.partition.mode=nonstrict;(動態分區開啟)

Spark:

(1)set spark.sql.legacy.parquet.datetimeRebaseModeInRead=LEGACY;(用于spark3中字段類型不匹配(例如datetime無法轉換成date),消除sql中時間歧義,將Spark .sql. LEGACY . timeparserpolicy設置為LEGACY來恢復Spark 3.0之前的狀態來轉化)

(2)set spark.sql.adaptive.enabled=true;(是否開啟調整Partition功能,如果開啟,spark.sql.shuffle.partitions設置的Partition可能會被合并到一個Reducer里運行。平臺默認開啟,同時強烈建議開啟。理由:更好利用單個Executor的性能,還能緩解小文件問題)

(3)set spark.sql.hive.convertInsertingPartitinotallow=false;(解決數據無法同步Impala問題,使用Spark3引擎必填)

(4)set spark.sql.finalStage.adaptive.advisoryPartitinotallow=2048M;(Spark小文件合并)?

責任編輯:武曉燕 來源: 網易有數
相關推薦

2023-06-12 07:44:21

大數據數據治理

2023-02-08 19:32:27

大數據

2022-12-06 17:52:57

離線數倉治理

2022-05-13 11:24:09

數據美團

2023-06-19 07:27:50

網易嚴選全鏈路

2023-07-27 07:44:07

云音樂數倉平臺

2023-01-31 15:27:13

數據治理數據管理

2025-03-20 10:50:08

RedisCaffeine緩存監控

2024-04-22 07:56:32

數據倉庫數據中臺數據服務

2023-04-10 07:34:30

2024-01-11 08:15:52

大數據成本治理Hadoop

2022-12-30 15:27:13

2023-08-07 08:40:24

2024-03-26 06:46:52

大數據數據治理大數據資產治理

2024-05-22 15:31:56

2022-12-21 12:05:40

網易云音樂用戶畫像

2023-04-14 15:50:29

元數據數據治理

2021-07-19 10:06:30

數據治理數字化轉型CIO

2023-10-24 14:48:23

數據治理大數據

2018-09-30 15:05:38

數據湖數據倉庫Hadoop
點贊
收藏

51CTO技術棧公眾號

26uuu另类欧美| 97超级碰碰人国产在线观看| 午夜精品久久久久久久无码| 亚洲影院在线| 91免费国产网站| 成人爽a毛片免费啪啪红桃视频| 欧美va亚洲va在线观看蝴蝶网| 日韩大片b站免费观看直播| 亚洲视频一区二区在线观看| 凹凸日日摸日日碰夜夜爽1| 成人av网站在线| 色一情一乱一乱一区91| 蜜桃免费网站一区二区三区| 欧美一区二区三区成人久久片| 一区免费在线| 国产精品福利视频| 亚洲精品男同| 久久久久这里只有精品| 久草在线资源网站| 不卡在线视频中文字幕| 蜜桃网站成人| 在线成人h网| 99久久久精品免费观看国产| 国产精品成人av| 91色在线观看| 亚洲天堂一区二区三区四区| 成人啪啪免费看| 红桃视频欧美| 免费国产一区二区| 日韩电影免费在线看| 色99中文字幕| 国产乱子伦视频一区二区三区 | 国产午夜精品一区二区三区| 巨大荫蒂视频欧美大片| 欧美妇女性影城| 美女日批视频在线观看| 日韩国产精品一区| 爱啪视频在线观看视频免费| 日韩电影中文字幕在线观看| 久久久人成影片一区二区三区在哪下载 | 北条麻妃国产九九精品视频| 男人靠女人免费视频网站| 久久久久亚洲综合| 亚洲一区日韩精品| 亚洲狠狠爱一区二区三区| 最猛黑人系列在线播放| 欧美亚洲免费在线一区| 在线观看av片| 欧美日韩大陆在线| 欧美亚洲天堂| 亚洲国产精品福利| 亚洲综合色婷婷在线观看| 欧美怡春院一区二区三区| 99国内精品久久久久久久| 日韩成人av电影在线| 久久一夜天堂av一区二区三区| 波多野结衣av在线播放| 欧美成人一区二区| 成人午夜网址| 日本免费一区二区三区| 久久久精品天堂| 国产精品免费观看| 久久精品福利视频| 欧美99久久| 欧美 日本 亚洲| 欧美在线观看视频一区二区三区| 成人看片网站| 91精品在线影院| 国产成人免费av在线| 精品国产青草久久久久福利| 日韩欧美中文字幕电影| 国产精品69久久久久| 亚洲激情文学| 日韩av中文字幕在线| 欧美绝顶高潮抽搐喷水合集| 国内一区二区三区在线视频| 高清成人在线观看| 在线播放av片| 色噜噜狠狠色综合网图区| 亚洲精品99| 国产免费黄色av| 欧美久久免费观看| 欧美一二三区| 99精品欧美一区二区三区综合在线| 在线视频毛片| www.美女亚洲精品| 米奇777在线欧美播放| 天天操天天爱天天爽| 欧美一区三区二区| 视频精品在线观看| 欧美午夜性视频| 欧美精品 国产精品| 在线看成人短视频| 国产h视频在线播放| 欧美一区二区三区视频在线观看 | 精品国产综合| 国产精品久久久一区麻豆最新章节| 调教视频免费在线观看| 秋霞午夜一区二区| 91欧美一区二区| 涩涩视频在线| 日本精品国语自产拍在线观看| 亚洲成av人片| 欧美色资源站| 91av在线免费播放| 中文字幕亚洲欧美日韩2019| 日韩电影免费在线看| 国产精品视频二区三区| 国产91久久婷婷一区二区| 久久久久久久久一| 亚洲精品66| 国产成人在线免费看| 亚洲精品丝袜日韩| 九九**精品视频免费播放| 顶级网黄在线播放| 蜜桃精品久久久久久久免费影院| 欧美色视频日本版| 日韩av在线播放网址| www 四虎| 日本精品视频在线播放| 日韩一区中文字幕| 天天操综合520| www.4438全国最大| 国产成人高清激情视频在线观看| 久久久青草青青国产亚洲免观| 51一区二区三区| 久久久久久久9| 在线观看中文字幕亚洲| 国产成人超碰人人澡人人澡| 亚洲天堂导航| 日韩黄色短视频| 日韩一区二区久久久| 成人成人成人在线视频| 日本成人一区二区| 日韩av片网站| 国产精品久久久久久久电影| 亚洲第一福利一区| 黄色成人av网站| 性欧美video高清bbw| 亚洲午夜在线观看| 中文字幕日韩欧美| 国产日韩欧美高清| 欧州一区二区| 在线观看免费黄色| 日韩精品另类天天更新| 精品亚洲一区二区三区四区五区| 国产91在线观看丝袜| 国产精品久久免费视频| 99热热99| 鬼打鬼之黄金道士1992林正英| 欧美日韩成人高清| 麻豆一区二区在线| 亚洲精品成人一区| www.99av.com| 成人激情视频免费在线| 欧美放荡的少妇| 国产精品系列在线播放| 精品精品视频| 天天影院图片亚洲| 欧美日韩在线免费观看视频| 久久综合电影一区| 一区二区三区日韩欧美精品| 久久久久免费av| 在线三级电影| 亚洲乱码中文字幕久久孕妇黑人| 992tv在线成人免费观看| 91黄视频在线观看| 国产精品99久久久久| 激情视频极品美女日韩| 午夜在线观看91| 亚洲欧洲日韩综合二区| 九九热精品视频国产| 五月激情综合网| 久久精品国内一区二区三区| 91久久精品无嫩草影院| 国产福利在线看| 尤物av无码色av无码| 国产原创欧美精品| 亚洲天堂网站在线观看视频| 亚洲欧美另类小说| 蜜臀av一区二区在线观看| 国内视频在线精品| free性欧美hd另类精品| 玩弄japan白嫩少妇hd| 91久久伊人青青碰碰婷婷| 中文字幕免费精品一区| 欧美性猛交xxxx乱大交蜜桃| 国产伦精品一区二区三区免费迷| 少妇精品久久久一区二区三区| 欧美寡妇性猛交xxx免费| 激情校园亚洲图片| 亚洲区一区二区三区| 欧洲成人免费视频| 日韩成人av网址| 欧美日韩一二三四五区| 国产成人精品三级| 伊人久久亚洲美女图片| 免费观看成人www动漫视频| 七七久久电影网| 日韩精品系列|