1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        AliExpress基于Flink的廣告實時數(shù)倉建設(shè)

        共 3347字,需瀏覽 7分鐘

         ·

        2022-02-17 10:02

        點擊上方藍(lán)色字體,選擇“設(shè)為星標(biāo)”
        回復(fù)"面試"獲取更多驚喜
        大數(shù)據(jù)面試提升私教訓(xùn)練營上線
        Hi,我是王知無,一個大數(shù)據(jù)領(lǐng)域的原創(chuàng)作者。?
        放心關(guān)注我,獲取更多行業(yè)的一手消息。
        摘要:實時數(shù)倉以提供低延時數(shù)據(jù)指標(biāo)為目的供業(yè)務(wù)實時決策,本文主要介紹基于Flink的廣告實時數(shù)倉建設(shè),主要包括以下內(nèi)容:
        1. 建設(shè)背景
        2. 技術(shù)架構(gòu)
        3. 數(shù)倉架構(gòu)
        4.?實時OLAP
        5. 實時保障
        6. 未來規(guī)劃

        建設(shè)背景



        廣告是目前互聯(lián)網(wǎng)流量變現(xiàn)的一種重要手段,廣告投放的優(yōu)化很大程度上依賴于廣告效果數(shù)據(jù),依托于廣告曝光、點擊、消耗、訂單等指標(biāo)調(diào)整廣告投放策略,以達(dá)到最優(yōu)投放效果。前期主要提供T+1效果數(shù)據(jù),投放策略往往需要第二天才能做出調(diào)整,不能及時做出投放優(yōu)化,特別在一些大促場景,實時優(yōu)化顯得尤為重要,需要及時調(diào)整例如人群、地域、出價等策略,以此為背景建設(shè)實時數(shù)據(jù)鏈路。


        目前實時數(shù)據(jù)的場景主要有以下幾種:

        實時大屏:提供給運營、產(chǎn)品使用,展示核心的業(yè)務(wù)指標(biāo):曝光、點擊、消耗等數(shù)據(jù)。

        實時特征:提供給算法使用,統(tǒng)計用戶維度的行為數(shù)據(jù)。

        商家看板:提供給商家使用,展示商家的在不同維度的曝光、點擊、消耗等數(shù)據(jù)。

        多維分析:提供給運營、分析師使用,實時分析廣告數(shù)據(jù)。



        技術(shù)架構(gòu)



        依托新一代實時計算引擎Flink的興起,在超高性能、數(shù)據(jù)一致性保障、SQL化編程方式等特點下推動了實時數(shù)倉的發(fā)展。

        當(dāng)前的整體技術(shù)架構(gòu)圖如下:

        在數(shù)據(jù)源側(cè),一方面服務(wù)器日志數(shù)據(jù)與MySQL變更數(shù)據(jù)作為數(shù)倉的數(shù)據(jù)源,會被采集消息隊列Kafka中;另外一方面MySQL 中的數(shù)據(jù)會通過DataX離線方式同步到HBASE中,通常是在維度建設(shè)初始化使用;

        在數(shù)據(jù)加工側(cè)使用Flink作為計算引擎,HBASE作為維表存儲數(shù)據(jù)庫,F(xiàn)link任務(wù)在處理的過程中會做一些數(shù)據(jù)解析、規(guī)范化、打?qū)挕⒕酆系炔僮鳎?/span>

        在數(shù)據(jù)服務(wù)側(cè),使用兩種不同的存儲引擎HBASE與Hologres,HBASE提供KV查詢,應(yīng)用于實時大屏、商家看板等固化查詢場景,?Hologres用于在線分析,應(yīng)用于多維分析等場景,提供多維分析能力。二者由統(tǒng)一數(shù)據(jù)接口服務(wù)封裝,對外提供查詢。




        數(shù)倉架構(gòu)



        數(shù)倉的分層搭建需要從復(fù)用、成本、質(zhì)量、擴(kuò)展性等方面去考慮,實時數(shù)倉的搭建,包括層次劃分、命名、主題域劃分、數(shù)據(jù)域劃分與離線相差不大,目前劃分層次如下:

        數(shù)據(jù)源層DB日志與服務(wù)器日志,DB日志數(shù)據(jù)主要是廣告商家、投放計劃等物料數(shù)據(jù);服務(wù)器日志是廣告引擎曝光日志、廣告點擊日志、用戶真實曝光日志;按照不同的業(yè)務(wù)屬于又可以分為搜索廣告日志、推薦廣告日志。
        中間層分為DIM層與DWD層,DIM層即維度層,其數(shù)據(jù)來源于DB日志,通過離線全量+實時增量方式完整同步操作;明細(xì)層DWD建設(shè)很重要的一個要求就是能夠被復(fù)用,因此將搜索、推薦廣告日志做了水平合并供下游多方使用,另外一個是維度擴(kuò)充,提前做維表信息關(guān)聯(lián),避免下游多次join操作。

        應(yīng)用層按照應(yīng)用場景劃分為實時大屏、商家后臺實時指標(biāo)、實時特征、實時多維分析,提供了不同維度的曝光、點擊、消耗等數(shù)據(jù)。

        從當(dāng)前分層架構(gòu)來說,可以說與離線分層上有兩個差異:
        • 層次更少:離線中會存在匯總層與集市層,但是對于實時來說層次越多延時就越大,另外問題排查的難度就越大;

        • 注重維度整合:離線中一般情況下大寬表出現(xiàn)在集市層,但是對于實時來說,在構(gòu)建DWD層已經(jīng)完成了維度整合操作,避免下游join操作,也就是通過空間換時間的策略。



        實時OLAP



        當(dāng)前使用OLAP主要解決兩方面的問題:
        • 運營對于廣告數(shù)據(jù)需求的多變性

        運營對數(shù)據(jù)的需求變化性常常是大于廣告商家看數(shù)的需求,如果都是使用Flink進(jìn)行預(yù)計算完成的指標(biāo),那么其開發(fā)、運維成本是非常高的;
        • 對mysql中的數(shù)據(jù)需要某個時間點的分析結(jié)果指標(biāo)

        mysql中的數(shù)據(jù)是可變的,經(jīng)常會執(zhí)行一些update操作,例如廣告預(yù)算數(shù)據(jù),預(yù)算是可實時變更的,需要知道每小時整的預(yù)算額。使用Flink去處理這類問題成本比較高、并且也不可復(fù)用。


        基于以上問題,提出了實時OLAP的架構(gòu)。

        將明細(xì)數(shù)據(jù)通過Flink處理寫入OLAP中,基于OLAP一方面完成在線數(shù)據(jù)查詢,另外一方面通過離線調(diào)度處理OLAP中數(shù)據(jù),進(jìn)行一個簡單的分層處理,最終提供給上層查詢服務(wù)使用。




        實時保障




        整個實時數(shù)據(jù)體系保障,可分為穩(wěn)定性保障、數(shù)據(jù)質(zhì)量保障兩個方面。


        穩(wěn)定性保障

        穩(wěn)定性保障目前主要從壓測、任務(wù)等級劃分、 監(jiān)控三方面實施:
        提前壓測,應(yīng)對流量高峰期,特別是大促場景下,提前做好資源保障、任務(wù)優(yōu)化等措施。
        制定保障等級,從任務(wù)影響面大小、數(shù)據(jù)使用方來劃分,一般情況公司層面優(yōu)先于部門層面,外部使用優(yōu)先于內(nèi)部使用, ?高優(yōu)先級任務(wù)需要優(yōu)先/及時響應(yīng)、必要情況下做雙鏈路保障機(jī)制;
        指標(biāo)監(jiān)控,監(jiān)控任務(wù)failover情況、checkpoint指標(biāo)、GC情況、作業(yè)反壓等,出現(xiàn)異常告警。


        數(shù)據(jù)質(zhì)量保障

        質(zhì)量保障主要是保障數(shù)據(jù)正確性與時效性。
        正確性
        實時計算端到端的一致性,對數(shù)據(jù)正確性的影響,常用手段就是通過輸出冪等方式保障,這種方式要求輸出使用存儲介質(zhì)支持重寫,對于不支持冪等的存儲,比較常用的就是DWD層的kafka, 可能會產(chǎn)生重復(fù)的數(shù)據(jù),那么在下游使用的時候可以使用row_number() 語法進(jìn)行去重,保證相同的key不會被多次計算;
        離線與實時的一致性,需要保證使用數(shù)據(jù)源一致、加工業(yè)務(wù)邏輯一致。
        時效性
        保障實時指標(biāo)的時效性,常用的手段就是提前壓測與監(jiān)控。
        提前壓測:提前發(fā)現(xiàn)可能會影響任務(wù)處理速度的瓶頸,常見的就是數(shù)據(jù)傾斜、大狀態(tài)的算子操作(join);
        監(jiān)控:監(jiān)控任務(wù)當(dāng)前的消費進(jìn)度,在數(shù)據(jù)源處通過使用數(shù)據(jù)時間與當(dāng)前系統(tǒng)時間對比判斷其消費進(jìn)度。




        未來規(guī)劃



        實時DWS層建設(shè)

        當(dāng)前雖然做了統(tǒng)一DWD層的建設(shè),但是在應(yīng)用層商家看板、實時特征等的場景應(yīng)用中,仍然存在重復(fù)建設(shè)的工作,例如小時維度的商品曝光指標(biāo)被多個鏈路重復(fù)計算,這種存在數(shù)據(jù)一致性的風(fēng)險,另外也會造成資源浪費,可以將公共的匯總指標(biāo)抽象出來統(tǒng)一計算,建設(shè)DWS層。

        實時OLAP 的深度應(yīng)用

        當(dāng)前OLAP的應(yīng)用場景主要是運營側(cè)使用,但是對于商家側(cè)看板數(shù)據(jù)也可以做進(jìn)一步的應(yīng)用。目前商家看板數(shù)據(jù)使用HBASE作為存儲,然而實際的看數(shù)需求是需要排序、分頁等操作,這個功能的實現(xiàn)大多數(shù)是通過將數(shù)據(jù)查詢出來,然后基于內(nèi)存去處理,這種方式開發(fā)成本高、不易維護(hù),可通過OLAP天然支持排序、分頁去解決這些問題。

        基于Hologres的HASP架構(gòu)簡化數(shù)倉架構(gòu)

        Hologres 是阿里巴巴自主研發(fā)的一款交互式分析產(chǎn)品,其重要的理念就是HASP, hybrid serving/analytical processing,服務(wù)分析一體化,通過其行存結(jié)構(gòu)提供高頻kv查詢,列存結(jié)構(gòu)提供多維分析能力??墒褂?span style="letter-spacing: 2px;font-size: 15px;font-variant-numeric: normal;font-variant-east-asian: normal;font-stretch: normal;line-height: normal;font-family: Optima-Regular, PingFangTC-light;">Hologres替換HBASE, 簡化整個技術(shù)架構(gòu)鏈路。

        如果這個文章對你有幫助,不要忘記?「在看」?「點贊」?「收藏」?三連啊喂!



        2022年全網(wǎng)首發(fā)|大數(shù)據(jù)專家級技能模型與學(xué)習(xí)指南(勝天半子篇)

        互聯(lián)網(wǎng)最壞的時代可能真的來了

        我在B站讀大學(xué),大數(shù)據(jù)專業(yè)

        我們在學(xué)習(xí)Flink的時候,到底在學(xué)習(xí)什么?

        193篇文章暴揍Flink,這個合集你需要關(guān)注一下

        Flink生產(chǎn)環(huán)境TOP難題與優(yōu)化,阿里巴巴藏經(jīng)閣YYDS

        Flink CDC我吃定了耶穌也留不住他!| Flink CDC線上問題小盤點

        我們在學(xué)習(xí)Spark的時候,到底在學(xué)習(xí)什么?

        在所有Spark模塊中,我愿稱SparkSQL為最強(qiáng)!

        硬剛Hive | 4萬字基礎(chǔ)調(diào)優(yōu)面試小總結(jié)

        數(shù)據(jù)治理方法論和實踐小百科全書

        標(biāo)簽體系下的用戶畫像建設(shè)小指南

        4萬字長文 | ClickHouse基礎(chǔ)&實踐&調(diào)優(yōu)全視角解析

        【面試&個人成長】2021年過半,社招和校招的經(jīng)驗之談

        大數(shù)據(jù)方向另一個十年開啟 |《硬剛系列》第一版完結(jié)

        我寫過的關(guān)于成長/面試/職場進(jìn)階的文章

        當(dāng)我們在學(xué)習(xí)Hive的時候在學(xué)習(xí)什么?「硬剛Hive續(xù)集」

        瀏覽 79
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            免费无遮挡在线观看视频网站 | 影音先锋最新资源网 | 99热热久久| 五月丁香在线视频 | 成人亚洲AV无码专区一区丁香 | 操美女在线 | 欧美在线黄色 | www.久久 | 日韩无码视屏 | 国产视频一二 |