乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      網(wǎng)易云音樂數(shù)倉治理之?dāng)?shù)據(jù)任務(wù)重構(gòu)實(shí)踐

       520jefferson 2021-07-04
      1

      背景

      云音樂會員自動化運(yùn)營,通過對人群、資源位、投放規(guī)則等配置打包形成不同的投放策略,完成站內(nèi)資源整合。針對不同用戶不同行為不同位置推送不同資源內(nèi)容,精準(zhǔn)投放,加強(qiáng)轉(zhuǎn)化,提高會員滲透率,提高會員續(xù)費(fèi)率。

      圖片

      (自動化運(yùn)營策略)

      運(yùn)營效果的評估,依賴大量數(shù)據(jù)指標(biāo)在不同分析維度的表現(xiàn)。數(shù)據(jù)指標(biāo)如投放PV/UV、觸點(diǎn)曝光PV/UV、觸點(diǎn)點(diǎn)擊PV/UV、收銀臺曝光PV/UV、SKU點(diǎn)擊PV/UV、購買人數(shù)、訂單數(shù),以及各階段的漏斗轉(zhuǎn)化數(shù)據(jù)等;分析維度如投放策略、投放資源、投放位置、投放人群、用戶OS、SKU類型等等。

      圖片

      (自動化運(yùn)營指標(biāo)分析)

      2

      問題

      早期數(shù)倉建設(shè)缺乏方法論指導(dǎo),更多是煙囪式開發(fā),沒有分層,沒有主題域,沒有規(guī)范。需求驅(qū)動,模型設(shè)計復(fù)用性考慮不足,所有表產(chǎn)出自一個任務(wù)流,耦合嚴(yán)重,在穩(wěn)定性和可用性方面存在不少問題。

      圖片

      (auto-om-flow)

      3

      重構(gòu)

      本次重構(gòu)以對業(yè)務(wù)影響最小,盡量做到下游無感知為原則,從規(guī)范、效率、質(zhì)量方面著手,進(jìn)行任務(wù)治理。

      3.1 規(guī)范

      模型設(shè)計:遵循高內(nèi)聚低耦合的原則,劃分合適的業(yè)務(wù)主題域,給出清晰的表分層。建表、字段遵循數(shù)倉通用規(guī)范。

      主題域:云音樂-事實(shí)-交易營收。

      表分層:dwd用戶行為明細(xì)層、dws原子指標(biāo)輕度聚合層、ads業(yè)務(wù)場景指標(biāo)高度匯總層。

      • dwd

        music_new_dm.dwd_act_auto_om_di

      • dws

        music_new_dm.dws_act_auto_om_di

      • ads

        music_new_dm.ads_act_auto_om_di

        music_new_dm.ads_rev_vip_autoom_buy_di

        music_new_dm.ads_act_vip_stgy_di

      任務(wù)解耦:一個任務(wù)流產(chǎn)出一張正式表,任務(wù)名即表名,任務(wù)按業(yè)務(wù)歸屬、表分層部署在對應(yīng)網(wǎng)易有數(shù)大數(shù)據(jù)平臺目錄下。

      任務(wù)節(jié)點(diǎn):

      • 開始節(jié)點(diǎn):任務(wù)入口,虛擬節(jié)點(diǎn),建議命名:start。

      • 結(jié)束節(jié)點(diǎn):任務(wù)終點(diǎn),虛擬節(jié)點(diǎn),有數(shù)大數(shù)據(jù)平臺默認(rèn)以任務(wù)名為結(jié)束節(jié)點(diǎn)。

      • 說明節(jié)點(diǎn):任務(wù)注釋文檔說明用,有數(shù)數(shù)據(jù)平臺無文檔節(jié)點(diǎn),建議使用SQL節(jié)點(diǎn)注釋語法實(shí)現(xiàn),命名readme。

      • 依賴節(jié)點(diǎn):表依賴節(jié)點(diǎn),MR節(jié)點(diǎn),以while循環(huán)check表數(shù)據(jù)文件時間戳形式檢測表是否ready。建議命名:dep-表名[-分區(qū)名]

      • 計算節(jié)點(diǎn):臨時表或正式表產(chǎn)出節(jié)點(diǎn),SQL節(jié)點(diǎn)。建議命名:[insert-]表名[-分區(qū)名]

      • 依賴配置:有數(shù)數(shù)據(jù)平臺支持線上模式編輯調(diào)度配置任務(wù)依賴、節(jié)點(diǎn)依賴,任務(wù)或節(jié)點(diǎn)需同屬于有數(shù)數(shù)據(jù)平臺任務(wù),暫不支持配置Pandora任務(wù)依賴。也可使用任務(wù)內(nèi)MR節(jié)點(diǎn)方式配置依賴。兩種方式各有優(yōu)劣,按需配置,不做要求。

      • 臨時表:任務(wù)邏輯較為復(fù)雜或需要復(fù)用中間結(jié)果時,考慮使用臨時表或視圖表。因磁盤讀寫速度遠(yuǎn)低于內(nèi)存讀寫,故應(yīng)多使用內(nèi)存表,盡量減少臨時表落盤。但是,當(dāng)不得不做一件有代價的事情的時候,應(yīng)考慮最大化利用其價值。

      操作建議:

      • 數(shù)據(jù)量較小時,建議使用view或with as語法組織代碼,提高可讀性,減少磁盤io;

      • 數(shù)據(jù)量較大時,建議落實(shí)體表到臨時庫,設(shè)置生命周期定時清理,既提高數(shù)據(jù)復(fù)用,又方便出錯時異常排查,當(dāng)下游修改邏輯時又可降低數(shù)據(jù)回跑成本;

      • 考慮語法標(biāo)準(zhǔn)及查詢引擎的支持度,不建議使用temporary table/temporary view等語法建臨時表、臨時視圖;

      • 考慮表元數(shù)據(jù)穩(wěn)定及查詢便利性,建議任務(wù)上線即固定臨時表命名,使用動態(tài)日期分區(qū)而非動態(tài)表名區(qū)分每天數(shù)據(jù)。

      開發(fā)測試:有數(shù)數(shù)據(jù)平臺任務(wù)支持開發(fā)模式、線上模式,所有任務(wù)節(jié)點(diǎn)需在開發(fā)模式測試通過后才可提交上線。

      上線審核:圈選任務(wù)提交上線,走工單審批,需業(yè)務(wù)負(fù)責(zé)人check通過后可通過上線。

      調(diào)度配置:任務(wù)上線調(diào)度需配置調(diào)度參數(shù),調(diào)度周期,調(diào)度時間,任務(wù)依賴,執(zhí)行隊列,并發(fā)設(shè)置等,詳見數(shù)倉通用規(guī)范。

      報警配置:任務(wù)上線默認(rèn)配置負(fù)責(zé)人接收失敗報警。按需配置報警對象(任務(wù)、節(jié)點(diǎn)),觸發(fā)規(guī)則(失敗、延遲),報警接收(負(fù)責(zé)人、報警組),報警方式(郵件、短信、電話、popo),循環(huán)報警等。

      以下五張為詳細(xì)任務(wù)解耦圖:

      圖片

      (dwd_act_auto_om_di)

      圖片

      (dws_act_auto_om_di)

      圖片

      (ads_act_auto_om_di)

      圖片

      (ads_act_vip_stgy_di)

      圖片

      (ads_rev_vip_autoom_buy_di)

      3.2 效率

      執(zhí)行引擎:原workflow仍有大量任務(wù)使用hive執(zhí)行,本次全部遷移spark。

      性能優(yōu)化:分析輸入輸出數(shù)據(jù)量級,業(yè)務(wù)計算邏輯,CPU/內(nèi)存等資源參數(shù)調(diào)節(jié),達(dá)到性能優(yōu)化目的。

      Spark調(diào)優(yōu):

      1. 開啟動態(tài)資源分配 dynamicAllocation

      2. cpu/內(nèi)存配比建議同集群總資源配比,最大化利用集群資源

      3. 開啟broadcastjoin,有數(shù)數(shù)據(jù)平臺環(huán)境默認(rèn)關(guān)閉(內(nèi)存限制),spark官方建議開啟,可極大提高join小表性能

      4. 調(diào)節(jié)parallelism和repartition參數(shù),提高并行度

      5. 開啟convertMetastoreParquet,充分利用spark讀parquet性能

      6. lateral view explode優(yōu)化,多次explode前,手動觸發(fā)shuffle操作,減少單分區(qū)處理數(shù)據(jù)量大小

      7. 控制輸出文件大小,減少小文件數(shù),減輕nn壓力

      8. 充分利用spark3 AQE優(yōu)化

      性能提升:單節(jié)點(diǎn)執(zhí)行效率提升5倍,整體產(chǎn)出時間提前3小時,存儲空間占用降低80%,文件數(shù)占用降低90%。

      圖片

      (重構(gòu)前后對比)

      dwd_act_auto_om_di 存儲及文件數(shù)降低。

      圖片

      (存儲及文件數(shù)降低)

      ads_act_auto_om_di表提高并行度及explode優(yōu)化以提高執(zhí)行效率縮短時長示例。

      圖片

      (優(yōu)化計算示例)

      ads_act_vip_stgy_di表執(zhí)行時長由60分鐘縮短至10分鐘,產(chǎn)出時間由11點(diǎn)提前至9點(diǎn)。

      圖片

      (產(chǎn)出時間提前)

      3.3 質(zhì)量

      數(shù)據(jù)校驗(yàn):重構(gòu)應(yīng)保證數(shù)據(jù)準(zhǔn)確性、一致性,對重構(gòu)前后產(chǎn)出數(shù)據(jù)做一定的規(guī)則校驗(yàn)。如count、count distinct、NULL值、枚舉值范圍、數(shù)值型分布、最大最小值比較等。

      -- 分區(qū)前綴代表不同優(yōu)化策略select dt,     count(1as c,     count(distinct os) as c_os,     count(distinct positionid) as c_pos,     sum(vipbuy_amt) as s_amt,    max(trigger_impress_cnt) as max_c,    min(trigger_impress_cnt) as min_cfrom music_new_dm.ads_act_vip_stgy_di where dt like '%2021-06-09%'group by 1order by 1;

      圖片

       (數(shù)據(jù)校驗(yàn))

      DQC:網(wǎng)易有數(shù)數(shù)據(jù)平臺數(shù)據(jù)質(zhì)量中心支持使用模板或自定義規(guī)則對表配置不同監(jiān)控規(guī)則。

      • 表級:主鍵唯一性、表行數(shù)監(jiān)控、行數(shù)波動監(jiān)控等;

      • 字段級:空值判斷、枚舉值范圍監(jiān)控、數(shù)值型分布、最大最小值監(jiān)控等;

      • 規(guī)則強(qiáng)弱:支持配置規(guī)則命中后,繼續(xù)執(zhí)行或終止任務(wù)等不同策略。

      DQC規(guī)則與任務(wù)串行執(zhí)行,會增加任務(wù)產(chǎn)出時長,需綜合評估任務(wù)重要等級,在準(zhǔn)確性與時效性之間衡量取舍。

      好啦,今天的分享就到這里,謝謝大家。

      作者簡介

      冷面,網(wǎng)易云音樂資深數(shù)據(jù)開發(fā)工程師,長期從事大數(shù)據(jù)開發(fā),數(shù)倉建設(shè)、模型設(shè)計、數(shù)據(jù)治理、數(shù)據(jù)應(yīng)用和服務(wù)等工作。目前主要負(fù)責(zé)云音樂離線數(shù)倉建設(shè)、會員業(yè)務(wù)線上數(shù)據(jù)服務(wù)、離線/實(shí)時ABTEST系統(tǒng)開發(fā)。

      今天的分享就到這里,謝謝大家。


        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多