廣告投放數(shù)據(jù)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時間:2020-05-28 13:52
【摘要】:在現(xiàn)在的互聯(lián)網(wǎng)背景下,隨著私人計(jì)算機(jī)和手機(jī)的覆蓋率增加,技術(shù)增長進(jìn)而導(dǎo)致的網(wǎng)絡(luò)的價(jià)格不斷的降低,人們幾乎在每一天都要上網(wǎng)進(jìn)行各種各樣的活動。而其中本人所在的實(shí)習(xí)公司會收到很多的來自人們的訪問,因此會出現(xiàn)大量的訪問數(shù)據(jù),如何高效的使用以及儲存這些量級極大的數(shù)據(jù),進(jìn)而應(yīng)用于各種有利于公司的業(yè)務(wù)場景,成為了一個急需解決的問題。廣告投放數(shù)據(jù)分析系統(tǒng),即DMP系統(tǒng)(Data-ManagementPlatform,數(shù)據(jù)管理平臺)的子系統(tǒng),是目前大型和中型互聯(lián)網(wǎng)公司中非常流行的一個系統(tǒng),此系統(tǒng)是 RTB(RealTimeBidding,實(shí)時競價(jià))-DSP(DemandSidePlatform,需求方平臺)體系中非常重要的一環(huán)。此系統(tǒng)需要完成的任務(wù)相當(dāng)多,它不僅要處理來自于公司APP的大量數(shù)據(jù),還要處理來自DSP系統(tǒng)的數(shù)據(jù),除此之外,在數(shù)據(jù)處理完成后,此系統(tǒng)還要對這些數(shù)據(jù)進(jìn)行數(shù)據(jù)可視化以及最后的導(dǎo)出工作,來支持?jǐn)?shù)據(jù)分析部門,BI(Business Intelligence)部門以及算法部門的工作。在整個廣告投放數(shù)據(jù)分析系統(tǒng)的開發(fā)中,本人主要參與了需求分析、設(shè)計(jì)、開發(fā)、測試以及維護(hù)的工作,本人的工作內(nèi)容如下:(1)參與并完成了整個系統(tǒng)的需求分析,提出了我所想到的所有需要注意的環(huán)節(jié)以及問題,盡量滿足來自于各個部門的內(nèi)部需求。(2)參與并完成了整個系統(tǒng)的概要設(shè)計(jì),最后確定了系統(tǒng)的功能模塊劃分。(3)與兩人合作完成了系統(tǒng)各個模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、包括數(shù)據(jù)倉庫數(shù)據(jù)獲取子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、實(shí)時流日志分析子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、DSP日志獲取子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、數(shù)據(jù)庫數(shù)據(jù)獲取子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、DSP日志分析子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、數(shù)據(jù)倉庫數(shù)據(jù)清洗子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)、cube制作子模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)以及相對簡單的數(shù)據(jù)展示模塊和數(shù)據(jù)導(dǎo)出模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)。(4)參與并完成了整個系統(tǒng)的測試工作。(5)負(fù)責(zé)整個系統(tǒng)的每日維護(hù)和更新,包括新ETL的編寫,新主題數(shù)據(jù)的增加,每日自動化調(diào)度的實(shí)現(xiàn)等等。在實(shí)現(xiàn)廣告投放數(shù)據(jù)分析系統(tǒng)的過程中,使用的技術(shù)大多數(shù)為Hadoop生態(tài)圈的相關(guān)框架,即Mapreduce,Hive,Spark,Kylin等,使用的開發(fā)語言為Java,Shell以及Hive Sql。本項(xiàng)目目前已經(jīng)上線,并已經(jīng)經(jīng)過多次的更新與迭代,是一個完善的系統(tǒng),對組內(nèi)所有部門的工作都起到了非常大的支持作用。
【圖文】:
圖2-1邋Spark框架整體架構(gòu)圖逡逑Figure邋2-1邋Artitechture邋of邋Spark逡逑Spark的工作流程:逡逑(1)應(yīng)用程序在使用spark-submit進(jìn)行任務(wù)提交之后,首先要根據(jù)參數(shù)設(shè)始化SparkContext,SparkContext是Spark的運(yùn)行環(huán)境,在任務(wù)的運(yùn)起到主導(dǎo)作用。隨后會創(chuàng)建DAG邋Scheduler和Task邋Scheduler。Driver?qū)⒄麄程序劃分成多個Job,每個Job內(nèi)部都會構(gòu)建DAG圖,DAScheduler會將job劃分成多個Stage,,再更細(xì)致的劃分為多個task并傳Task邋Scheduler。最后由Task邋Scheduler進(jìn)行集群上的調(diào)度。逡逑(2)邐Driver根據(jù)初始化SparkContext時的參數(shù)設(shè)置向資源管理器(ResourcManager)申請資源。逡逑(3)邐Resource邋manager收到請求后會在Worknode節(jié)點(diǎn)上創(chuàng)建Executor。逡逑(4)邐Driver邋分配邋Task邋給邋Executor邋執(zhí)行。逡逑(5)任務(wù)完成,注銷資源。逡逑ute
平臺上的數(shù)據(jù)庫數(shù)據(jù),實(shí)時流日志數(shù)據(jù)則是Spark實(shí)時流處理落下的日志以供后逡逑續(xù)統(tǒng)計(jì)分析。逡逑系統(tǒng)將會對得到的源數(shù)據(jù)進(jìn)行不同的處理,整個系統(tǒng)的工作流程如圖3-1所示:逡逑數(shù)據(jù)源邋1邋DSP數(shù)據(jù)庫數(shù)邋1數(shù)據(jù)倉庫曝光數(shù)據(jù)邐1實(shí)時流日志I*一逡逑邐邐邋邐(生成逡逑邐i邐邋邐5邐邋邐邐逡逑數(shù)據(jù)分析處理邐ETL數(shù)據(jù)清洗邐實(shí)時流日志分析邐平臺實(shí)時流計(jì)算逡逑邐5邐邋邐i邐邋邐5!邐邋邐i邐逡逑數(shù)據(jù)生成邐Cube生成邐k穩(wěn)嶄饗鈧副赍穩(wěn)罩竟朔治鰣問凳繃髁縱憧劐義鮮荻越渝沃С制淥萜教ㄥ紊蹋椋脛悄芊治鲇胍滴裰С皺問萃諼斟義賢跡常憊愀嬙斗攀莘治魷低徹ぷ髁鞒體義希疲椋紓酰潁邋澹常卞澹裕瑁邋澹穡潁錚悖澹螅簀澹錚駑澹簦瑁邋澹櫻螅簦澹礤義希保靛義
本文編號:2685336
【圖文】:
圖2-1邋Spark框架整體架構(gòu)圖逡逑Figure邋2-1邋Artitechture邋of邋Spark逡逑Spark的工作流程:逡逑(1)應(yīng)用程序在使用spark-submit進(jìn)行任務(wù)提交之后,首先要根據(jù)參數(shù)設(shè)始化SparkContext,SparkContext是Spark的運(yùn)行環(huán)境,在任務(wù)的運(yùn)起到主導(dǎo)作用。隨后會創(chuàng)建DAG邋Scheduler和Task邋Scheduler。Driver?qū)⒄麄程序劃分成多個Job,每個Job內(nèi)部都會構(gòu)建DAG圖,DAScheduler會將job劃分成多個Stage,,再更細(xì)致的劃分為多個task并傳Task邋Scheduler。最后由Task邋Scheduler進(jìn)行集群上的調(diào)度。逡逑(2)邐Driver根據(jù)初始化SparkContext時的參數(shù)設(shè)置向資源管理器(ResourcManager)申請資源。逡逑(3)邐Resource邋manager收到請求后會在Worknode節(jié)點(diǎn)上創(chuàng)建Executor。逡逑(4)邐Driver邋分配邋Task邋給邋Executor邋執(zhí)行。逡逑(5)任務(wù)完成,注銷資源。逡逑ute
平臺上的數(shù)據(jù)庫數(shù)據(jù),實(shí)時流日志數(shù)據(jù)則是Spark實(shí)時流處理落下的日志以供后逡逑續(xù)統(tǒng)計(jì)分析。逡逑系統(tǒng)將會對得到的源數(shù)據(jù)進(jìn)行不同的處理,整個系統(tǒng)的工作流程如圖3-1所示:逡逑數(shù)據(jù)源邋1邋DSP數(shù)據(jù)庫數(shù)邋1數(shù)據(jù)倉庫曝光數(shù)據(jù)邐1實(shí)時流日志I*一逡逑邐邐邋邐(生成逡逑邐i邐邋邐5邐邋邐邐逡逑數(shù)據(jù)分析處理邐ETL數(shù)據(jù)清洗邐實(shí)時流日志分析邐平臺實(shí)時流計(jì)算逡逑邐5邐邋邐i邐邋邐5!邐邋邐i邐逡逑數(shù)據(jù)生成邐Cube生成邐k穩(wěn)嶄饗鈧副赍穩(wěn)罩竟朔治鰣問凳繃髁縱憧劐義鮮荻越渝沃С制淥萜教ㄥ紊蹋椋脛悄芊治鲇胍滴裰С皺問萃諼斟義賢跡常憊愀嬙斗攀莘治魷低徹ぷ髁鞒體義希疲椋紓酰潁邋澹常卞澹裕瑁邋澹穡潁錚悖澹螅簀澹錚駑澹簦瑁邋澹櫻螅簦澹礤義希保靛義
本文編號:2685336
本文鏈接:http://sikaile.net/wenyilunwen/guanggaoshejilunwen/2685336.html
最近更新
教材專著