亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Spark核心架構(gòu)的大數(shù)據(jù)平臺(tái)技術(shù)研究與實(shí)踐

        2016-11-16 07:29:20郭慈廖振松
        關(guān)鍵詞:資源

        郭慈,廖振松

        (中國(guó)移動(dòng)通信集團(tuán)湖北有限公司,武漢 430023)

        基于Spark核心架構(gòu)的大數(shù)據(jù)平臺(tái)技術(shù)研究與實(shí)踐

        郭慈,廖振松

        (中國(guó)移動(dòng)通信集團(tuán)湖北有限公司,武漢 430023)

        湖北移動(dòng)自搭建企業(yè)級(jí)大數(shù)據(jù)中心以來(lái),整合了O域、B域、M域的數(shù)據(jù),形成了標(biāo)準(zhǔn)化、開(kāi)放式、集中化的數(shù)據(jù)中心平臺(tái)。深入研究Hadoop及Spark等生態(tài)圈軟件的底層技術(shù),構(gòu)建以Spark為核心的統(tǒng)一數(shù)據(jù)存取、處理、分析、實(shí)時(shí)計(jì)算的大數(shù)據(jù)平臺(tái),創(chuàng)新性地提出5項(xiàng)關(guān)鍵技術(shù)解決方案,攻克了業(yè)界公布的眾多難題,為企業(yè)眾多機(jī)構(gòu)提供技術(shù)支持與服務(wù)支撐。

        大數(shù)據(jù);Spark;數(shù)據(jù)透明訪問(wèn);資源管理;多租戶

        湖北移動(dòng)在2013年部署了首個(gè)基于Hadoop技術(shù)的大數(shù)據(jù)應(yīng)用——流量經(jīng)營(yíng)分析系統(tǒng)。主要功能是使用Hive(MR1計(jì)算框架)對(duì)每日高達(dá)10TB的GN口信令數(shù)據(jù)進(jìn)行數(shù)據(jù)倉(cāng)庫(kù)ETL工作,完成了用戶終端應(yīng)用、網(wǎng)站內(nèi)容、終端類型、上網(wǎng)位置、用戶偏好等數(shù)據(jù)的挖掘分析工作,使用Esper對(duì)MC口信令數(shù)據(jù)進(jìn)行流處理實(shí)時(shí)計(jì)算,為對(duì)用戶進(jìn)行精準(zhǔn)營(yíng)銷活動(dòng)提供有效數(shù)據(jù)支撐。使用HBase高效快速的為客服人員提供用戶詳細(xì)上網(wǎng)情況信息,以對(duì)客戶明細(xì)級(jí)投訴內(nèi)容及時(shí)釋疑,提升客戶滿意度。但原有以Hadoop為主的大數(shù)據(jù)平臺(tái)中主要存在以下問(wèn)題。

        Hadoop版本相對(duì)較老,無(wú)法進(jìn)行動(dòng)態(tài)資源分配和管控,給生產(chǎn)調(diào)度任務(wù)優(yōu)化帶來(lái)較大維護(hù)困難。

        Hive與HBase共享計(jì)算資源無(wú)法隔離,Hive在進(jìn)行日匯總計(jì)算和月匯總計(jì)算時(shí)占用CPU資源時(shí)間過(guò)長(zhǎng),導(dǎo)致HBase生產(chǎn)容易超時(shí)。

        受限于HBase獨(dú)特的存儲(chǔ)方式,不能與Hive數(shù)據(jù)相互訪問(wèn),導(dǎo)致同樣的數(shù)據(jù)需要雙格式存儲(chǔ),使得存儲(chǔ)開(kāi)銷很大,導(dǎo)致硬件投資增加。

        Esper流處理架構(gòu)冗余度高,獨(dú)立于YARN之外無(wú)法進(jìn)行資源動(dòng)態(tài)擴(kuò)展,無(wú)法實(shí)現(xiàn)多租戶管理,導(dǎo)致硬件投資增加。

        基于以上問(wèn)題,迫切需要在構(gòu)建數(shù)據(jù)中心平臺(tái)對(duì)原有的技術(shù)架構(gòu)進(jìn)行升級(jí)。基于此,“基于Spark核心架構(gòu)的大數(shù)據(jù)平臺(tái)技術(shù)研究與實(shí)踐”攻關(guān)項(xiàng)目應(yīng)運(yùn)而生?!盎赟park核心架構(gòu)的大數(shù)據(jù)平臺(tái)技術(shù)研究與實(shí)踐”是湖北移動(dòng)在2015年度與集團(tuán)聯(lián)合的重點(diǎn)攻關(guān)項(xiàng)目,主要目的是為了降低成本,消除技術(shù)之間的限制和壁壘,獲得企業(yè)級(jí)的IT自由度,更好的挖掘隱藏在大數(shù)據(jù)中的價(jià)值。該項(xiàng)目以Spark為核心分布式計(jì)算引擎,以HDFS為持久層讀寫(xiě)原生數(shù)據(jù),構(gòu)建基于Spark SQL的透明數(shù)據(jù)訪問(wèn)層,降低數(shù)據(jù)ETL的代價(jià);以YARN作為資源管理器,提供可伸縮服務(wù)類應(yīng)用資源調(diào)度,提高整體資源利用率;以Spark Streaming技術(shù)構(gòu)建流平臺(tái)統(tǒng)一處理接口;引進(jìn)Spark生態(tài)圈組件,根據(jù)不同的場(chǎng)景使用Spark生態(tài)圈的多個(gè)產(chǎn)品來(lái)提供應(yīng)用解決方案;基于Docker實(shí)現(xiàn)YARN之上的容器技術(shù),使得更多的大數(shù)據(jù)外圍軟件工具能夠運(yùn)行于YARN之上,真正全面的打造一個(gè)基于Spark技術(shù)All-in-One的大數(shù)據(jù)中心處理平臺(tái)。

        1 Spark核心架構(gòu)大數(shù)據(jù)平臺(tái)的技術(shù)實(shí)現(xiàn)方案

        1.1基于Spark的All-in-One大數(shù)據(jù)處理平臺(tái)

        湖北移動(dòng)在2015年度不斷深入研究大數(shù)據(jù)開(kāi)源技術(shù),重點(diǎn)攻關(guān)YARN和Spark等多項(xiàng)技術(shù)難點(diǎn),在大數(shù)據(jù)開(kāi)源技術(shù)領(lǐng)域首次實(shí)現(xiàn)了All-in-One的技術(shù)架構(gòu),如圖1所示。

        該技術(shù)架構(gòu)實(shí)現(xiàn)All-in-One的核心方法如下。

        采 用Spark和Spark Streaming進(jìn)行統(tǒng)一的數(shù)據(jù)存取、批量處理、即席查詢、實(shí)時(shí)分析、流計(jì)算的一體化處理,在大數(shù)據(jù)中心物理設(shè)備層面不再區(qū)分設(shè)備節(jié)點(diǎn)類型與服務(wù)類型,全部納入YARN的資源管控之下。以YARN為核心建立針對(duì)多租戶的應(yīng)用進(jìn)行動(dòng)態(tài)資源管理,提高整個(gè)數(shù)據(jù)中心資源的利用率。

        以Spark RDD內(nèi)存計(jì)算技術(shù)為核心提供統(tǒng)一的數(shù)據(jù)存取處理及分析平臺(tái),對(duì)在不同數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)提供基于Spark SQL的透明訪問(wèn)層以降低開(kāi)發(fā)成本。同時(shí)支持多租戶為其大數(shù)據(jù)應(yīng)用在統(tǒng)一平臺(tái)上并行創(chuàng)建集成開(kāi)發(fā)運(yùn)維環(huán)境。

        繼續(xù)引入Spark生態(tài)圈所有組件為湖北移動(dòng)提供了All-in-One的數(shù)據(jù)處理方案。用戶可以根據(jù)不同的場(chǎng)景使用Spark生態(tài)圈的多個(gè)產(chǎn)品來(lái)解決應(yīng)用,而不是使用煙囪式的多個(gè)隔離的系統(tǒng)來(lái)滿足不同場(chǎng)景不同應(yīng)用的需求。

        首創(chuàng)引入YARN+Docker技術(shù),做到了在YARN管理的資源之上應(yīng)用容器,有效的將非Hadoop生態(tài)圈的軟件納入YARN的統(tǒng)一動(dòng)態(tài)資源管理中,進(jìn)一步提高了資源利用率,真正意義上做到一個(gè)集群一套資源管理所有應(yīng)用的All-in-One大數(shù)據(jù)中心平臺(tái)。

        1.2基于Spark SQL實(shí)現(xiàn)多種異構(gòu)數(shù)據(jù)源間的透明訪問(wèn)

        在業(yè)界通用的大數(shù)據(jù)架構(gòu)中,由于集中復(fù)制導(dǎo)致大量的重復(fù)數(shù)據(jù),造成存儲(chǔ)和網(wǎng)絡(luò)帶寬資源的浪費(fèi),湖北移動(dòng)采用“透明訪問(wèn)”有效的解決這一問(wèn)題。在數(shù)據(jù)中心實(shí)現(xiàn)各計(jì)算框架下的數(shù)據(jù)透明交互,節(jié)省存儲(chǔ)開(kāi)銷,減少硬件投資,同時(shí)保證了大數(shù)據(jù)平臺(tái)訪問(wèn)的可操作性?!巴该髟L問(wèn)”的技術(shù)架構(gòu)如圖2所示。

        圖1 湖北移動(dòng)大數(shù)據(jù)平臺(tái)技術(shù)架構(gòu)

        圖2 透明數(shù)據(jù)訪問(wèn)技術(shù)構(gòu)架

        透明數(shù)據(jù)訪問(wèn)是基于Spark SQL的DataFrame框架來(lái)實(shí)現(xiàn)的,通過(guò)Spark1.2版本發(fā)布的ExternalData Source API組件,Spark SQL可以將不同的外部數(shù)據(jù)源抽象成一個(gè)關(guān)系表格,支持了多種如JSON、Avro、CSV、Parquet、ORC等數(shù)據(jù)格式,將上述系統(tǒng)中的文件映射到透明數(shù)據(jù)訪問(wèn)層中,獲得了更多的結(jié)構(gòu)信息,將查詢中的各種信息下推至數(shù)據(jù)源處,從而充分利用數(shù)據(jù)源自身的優(yōu)化能力來(lái)完成列剪枝、過(guò)濾條件下推等優(yōu)化并最終轉(zhuǎn)換為RDD DAG在Spark引擎上執(zhí)行。

        在透明數(shù)據(jù)訪問(wèn)的模式下,采用了Phoenix構(gòu)建在HBase上的SQL中間件,提供對(duì)HBase的SQL能力,通過(guò)SQL方式實(shí)現(xiàn)對(duì)HBase表的創(chuàng)建和數(shù)據(jù)載入,保證符合External data source的格式特性,實(shí)現(xiàn)Spark和HBase間的數(shù)據(jù)透明交互。實(shí)例方法如圖3所示。

        目前湖北移動(dòng)在透明訪問(wèn)層支持的數(shù)據(jù)源有Hive、MySQL、Phoenix、Orcale、DB2、Parquet、JSON、CSV、AVRO等。

        1.3多種手段全方位提高Spark計(jì)算速度

        1.3.1首創(chuàng)引入PCI-e接口的SSD卡,實(shí)現(xiàn)Spark物理加速

        在湖北移動(dòng)大數(shù)據(jù)中心中,已完成跨內(nèi)存、閃存等介質(zhì)的分布式混合列式存儲(chǔ)的部署,在Spark節(jié)點(diǎn)上配置0.8T PCI-E SSD加速卡,服務(wù)于Spark計(jì)算框架供Spark高速訪問(wèn)。湖北移動(dòng)數(shù)據(jù)中心首創(chuàng)使用“內(nèi)存+SSD+HDD”三級(jí)緩存方案,使用SSD建立分布式內(nèi)存列式緩存Holodesk,并在緩存中建索引和過(guò)濾算法,加速了查詢與統(tǒng)計(jì)分析性能,SQL分析性能接近全內(nèi)存計(jì)算能力,核心程序的運(yùn)行效率比之前提升了2~10倍。

        1.3.2首創(chuàng)采用動(dòng)態(tài)代價(jià)分析算法,加速Spark多表分析性能

        湖北移動(dòng)在Spark中采用動(dòng)態(tài)代價(jià)分析算法,根據(jù)相關(guān)表的大小,記錄條數(shù),數(shù)據(jù)分布情況,數(shù)據(jù)傾斜情況以及抽樣數(shù)據(jù)計(jì)算情況,綜合考慮智能選取最優(yōu)的執(zhí)行計(jì)劃,較好的解決了數(shù)據(jù)傾斜問(wèn)題,加速了數(shù)據(jù)處理性能。

        在算法實(shí)現(xiàn)方面,先自動(dòng)計(jì)算表的大小,在數(shù)據(jù)傾斜發(fā)生時(shí)根據(jù)數(shù)據(jù)量動(dòng)態(tài)選擇算法和執(zhí)行計(jì)劃的調(diào)整,根據(jù)不同的SQL場(chǎng)景,自動(dòng)選擇將小表存放到每個(gè)節(jié)點(diǎn)的內(nèi)存中進(jìn)行Map Join,或者將傾斜值對(duì)應(yīng)的記錄在一個(gè)表中進(jìn)行進(jìn)一步切分,自動(dòng)轉(zhuǎn)換成多次Map Join進(jìn)行操作,從而避免將數(shù)據(jù)傾斜的某一關(guān)聯(lián)字段值匯聚到集群的某一個(gè)節(jié)點(diǎn)上關(guān)聯(lián)計(jì)算導(dǎo)致內(nèi)存溢出的情況。

        1.3.3在Spark中創(chuàng)新Broadcast算法,提升Spark查詢性能

        通過(guò)增加Broadcast算法,優(yōu)化了Spark SQL表關(guān)聯(lián)的執(zhí)行效率,提供在每臺(tái)機(jī)器上緩存一個(gè)只讀的變量,并通過(guò)廣播變量將一個(gè)大數(shù)據(jù)量輸入數(shù)據(jù)的副本分配給每個(gè)節(jié)點(diǎn),從而使SQL表關(guān)聯(lián)的執(zhí)行效率大幅提高,在ETL平臺(tái)中即位查詢1 000萬(wàn)級(jí)數(shù)據(jù)源,效率平均提升30倍左右。

        通過(guò)Benchmark測(cè)試,對(duì)比修改前后的差異,左連接原始時(shí)間為9 288 ms,改造后耗時(shí)1 963 ms,性能較以往提升4倍。該Spark優(yōu)化的關(guān)鍵技術(shù)已經(jīng)在開(kāi)源社區(qū)獲得通過(guò),對(duì)應(yīng)的路徑地址:https://github. com/apache/spark/pull/3362#event-209299107。

        1.3.4創(chuàng)新Spark動(dòng)態(tài)分區(qū)算法,提升Spark數(shù)據(jù)入庫(kù)性能

        分區(qū)表是管理數(shù)據(jù)的一種方式,Spark SQL的執(zhí)行引擎僅掃描分區(qū)值對(duì)應(yīng)的目錄下的文件,從而提高了大數(shù)據(jù)的檢索效率。原版本的Spark SQL在導(dǎo)入數(shù)據(jù)時(shí)只能通過(guò)靜態(tài)分區(qū)的語(yǔ)法進(jìn)行向Spark表中導(dǎo)入數(shù)據(jù),這種方法需要人工預(yù)先對(duì)數(shù)據(jù)進(jìn)行分區(qū),耗時(shí)耗力。湖北移動(dòng)創(chuàng)新改進(jìn)Spark源碼,實(shí)現(xiàn)Spark SQL支持動(dòng)態(tài)分區(qū),Spark SQL的執(zhí)行引擎可以通過(guò)表的元數(shù)據(jù),自動(dòng)判斷文件中的分區(qū)值,然后根據(jù)分區(qū)值創(chuàng)建或者找到對(duì)應(yīng)的目錄,把數(shù)據(jù)寫(xiě)到這個(gè)目錄的文件里,提高大批量數(shù)據(jù)導(dǎo)入效率67%。這項(xiàng)關(guān)鍵技術(shù)在Spark開(kāi)源社區(qū)獲得通過(guò)并發(fā)布,地址對(duì)應(yīng)的鏈接:https:// github.com/apache/spark/pull/2226。

        圖3 實(shí)例方法

        圖4 Kafka Cluster與YARN Cluseter資源調(diào)度示意圖

        1.4基于YARN的Docker服務(wù)容器化實(shí)現(xiàn)

        湖北移動(dòng)大數(shù)據(jù)中心應(yīng)用率先采用YARN+Docker的資源控制技術(shù),將Hadoop生態(tài)圈組件如Spark、Hbase等和非生態(tài)圈中間件如Tomcat、Kafka、Redis、Mysql等軟件實(shí)現(xiàn)YARN的統(tǒng)一資源調(diào)度和分配。該方式不僅有效的提高資源的使用效率,同時(shí)基于YARN實(shí)現(xiàn)資源的自動(dòng)容災(zāi)和在線動(dòng)態(tài)擴(kuò)縮容。使用Docker又能夠同時(shí)完成在YARN上多套相同組件,完全資源隔離的能力,實(shí)施后綜合減少了大數(shù)據(jù)租戶的計(jì)算資源約30%左右。

        在Hadoop2.6的YARN中使用Docker作為YARN的執(zhí)行引擎,修改YARN的執(zhí)行容器引擎為YARN上運(yùn)行任務(wù)的擴(kuò)展提供良好依據(jù),只要在Docker上運(yùn)行的任務(wù)都可以直接使用YARN來(lái)分配執(zhí)行資源。

        圖4為Kafka Cluster與YARN Cluseter資源調(diào)度示意圖。圖中,Kafka Cluster的Server1可以實(shí)際運(yùn)行在YARN的NodeManager中,使用資源時(shí)可以向傳統(tǒng)的短任務(wù)(如MR)一樣進(jìn)行資源的動(dòng)態(tài)申請(qǐng)和資源容災(zāi)隔離控制。

        采用Docker+YARN+Slider完成對(duì)底層資源的隔離,為應(yīng)用提供“獨(dú)占”的Pass服務(wù),如圖5所示。

        2 Spark核心架構(gòu)大數(shù)據(jù)平臺(tái)的關(guān)鍵技術(shù)與創(chuàng)新點(diǎn)

        2.1實(shí)現(xiàn)All-in-One大數(shù)據(jù)平臺(tái),減少集群硬件投資50%

        (1)將批處理與流處理平臺(tái)整合,在一個(gè)集群中使用Spark SQL支撐批處理、Spark Streaming支撐流處理,實(shí)現(xiàn)資源統(tǒng)一動(dòng)態(tài)管理,減少集群投資30%以上。

        (2)將Docker和YARN技術(shù)結(jié)合, 將Hadoop生態(tài)圈組件如Spark、Hbase等和非生態(tài)圈中間件如Tomcat、Kafka、Redis、Mysql等,實(shí)現(xiàn)基于YARN的統(tǒng)一資源調(diào)度和分配,實(shí)現(xiàn)資源的自動(dòng)容災(zāi)和在線動(dòng)態(tài)擴(kuò)縮容、分布式協(xié)調(diào)、負(fù)載均衡等新型功能。提高了資源使用效率,可減少投資20%。

        (3) 引入Spark生態(tài)圈所有組件, 提供了數(shù)據(jù)倉(cāng)庫(kù)、即位查詢、批處理、流處理、機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘、圖形分析、算法庫(kù)等豐富的功能。用戶可以根據(jù)不同的場(chǎng)景使用Spark生態(tài)圈的多個(gè)組件來(lái)解決應(yīng)用,避免使用煙囪式的多個(gè)隔離的系統(tǒng)來(lái)滿足不同場(chǎng)景不同應(yīng)用的需求。

        圖5 基于Docker+YARN+Slider技術(shù)的底層資源隔離

        2.2基于Docker+YARN技術(shù),實(shí)現(xiàn)新型的資源管控能力,提升資源利用率

        (1)基于Docker的資源分配和隔離。在YARN的統(tǒng)一資源管理下實(shí)現(xiàn)了為多租戶資源間提供可隔離、可配額、可度量、可移動(dòng)的新型特性,實(shí)施后提高了大數(shù)據(jù)租戶的計(jì)算資源25%左右。

        (2)基于Docker+YARN的DRF管控增強(qiáng)。通過(guò)Dominant Resource Fairness(DRF)技術(shù)以物理節(jié)點(diǎn)為單位將不同性能的物理CPU劃分成同等性能多個(gè)虛擬CPU。用戶提交作業(yè)時(shí)指定每個(gè)任務(wù)需要的虛擬CPU個(gè)數(shù),避免物理CPU數(shù)量相同但性能不同的節(jié)點(diǎn)分配任務(wù)過(guò)重,保障分布式技術(shù)資源均衡。

        (3)標(biāo)簽調(diào)度。通過(guò)YARN的 Label Based Scheduling調(diào)度能力實(shí)現(xiàn)對(duì)NodeManger配置不同的標(biāo)簽,在分配資源時(shí)分配指定資源到指定標(biāo)簽的NodeManger,實(shí)現(xiàn)對(duì)不同類型任務(wù)、不同資源隊(duì)列、不同租戶的任務(wù)提交到指定的NodeManger中,在作業(yè)調(diào)度中提供了一種新的資源隔離手段。

        (4)物理獨(dú)占隔離機(jī)制。采用Docker+YARN+ Slider對(duì)底層資源的隔離,為租戶或應(yīng)用提供“獨(dú)占”的資源服務(wù),并支持服務(wù)的動(dòng)態(tài)擴(kuò)容縮容、分布式協(xié)調(diào)、負(fù)載均衡等能力。

        2.3基于Spark SQL實(shí)現(xiàn)多種異構(gòu)數(shù)據(jù)源間的透明訪問(wèn),提高開(kāi)發(fā)效率

        首創(chuàng)使用基于Spark SQL為核心的“透明訪問(wèn)”技術(shù),在數(shù)據(jù)中心實(shí)現(xiàn)Hbase、Hive、Spark等異構(gòu)數(shù)據(jù)源之間的數(shù)據(jù)透明交互訪問(wèn),在大數(shù)據(jù)平臺(tái)中構(gòu)建了面向業(yè)務(wù)使用人員的虛擬化數(shù)據(jù)層以及統(tǒng)一分析層,把不同類型的數(shù)據(jù)庫(kù)、運(yùn)算、管理進(jìn)行物理或邏輯上的分離,將應(yīng)用和底層有效分開(kāi)。用戶只需根據(jù)自己的需求,通過(guò)標(biāo)準(zhǔn)的SQL,無(wú)障礙地獲取不同類型、不同位置的數(shù)據(jù)庫(kù)的服務(wù),提高了用戶SQL開(kāi)發(fā)工程師的開(kāi)發(fā)效率。

        對(duì)各個(gè)異構(gòu)的數(shù)據(jù)源運(yùn)行高度抽象,進(jìn)行語(yǔ)義解析,對(duì)開(kāi)發(fā)者提供統(tǒng)一的SQL語(yǔ)句接口,屏蔽異構(gòu)數(shù)據(jù)源的接口細(xì)節(jié),并可以在他們之間進(jìn)行通用的Join、 Union、Sort、去重和表達(dá)式求值等整合運(yùn)算,實(shí)現(xiàn)透明數(shù)據(jù)訪問(wèn)即支持跨庫(kù)訪問(wèn)。減少數(shù)據(jù)庫(kù)間集中復(fù)制導(dǎo)致大量的重復(fù)數(shù)據(jù),造成存儲(chǔ)和網(wǎng)絡(luò)帶寬資源的浪費(fèi),節(jié)省存儲(chǔ)開(kāi)銷,減少硬件投資,同時(shí)為了保證大數(shù)據(jù)平臺(tái)訪問(wèn)的可操作性。

        數(shù)據(jù)透明訪問(wèn)技術(shù)為業(yè)務(wù)開(kāi)發(fā)人員解決了應(yīng)用和管理上的難題,讓?xiě)?yīng)用開(kāi)發(fā)和業(yè)務(wù)分析更敏捷更實(shí)時(shí),同時(shí)解決了由于集中復(fù)制導(dǎo)致大量的重復(fù)數(shù)據(jù),造成存儲(chǔ)和網(wǎng)絡(luò)帶寬資源的浪費(fèi),從而節(jié)省存儲(chǔ)開(kāi)銷,減少硬件投資25%。

        2.4首創(chuàng)Spark SQL動(dòng)態(tài)代價(jià)分析算法,提高多表關(guān)聯(lián)計(jì)算效率32倍

        首創(chuàng)Spark動(dòng)態(tài)代價(jià)分析算法,降低數(shù)據(jù)傾斜帶來(lái)的性能影響。正常的數(shù)據(jù)分布都是傾斜的,在Hadoop環(huán)境中數(shù)據(jù)傾斜會(huì)極大影響性能,總導(dǎo)致有部分任務(wù)極大的拖慢了整個(gè)任務(wù)的完成時(shí)間?;诖?,湖北移動(dòng)首創(chuàng)了動(dòng)態(tài)代價(jià)分析算法,自動(dòng)判斷使用Map Join的方式優(yōu)化關(guān)聯(lián)性能,避免關(guān)聯(lián)計(jì)算導(dǎo)致內(nèi)存溢出的情況;自動(dòng)計(jì)算出相關(guān)關(guān)聯(lián)表中關(guān)聯(lián)字段的直方圖,分析計(jì)算效率代價(jià),動(dòng)態(tài)生成相關(guān)執(zhí)行SQL;并設(shè)置內(nèi)存使用安全閾值的方式來(lái)保證整個(gè)分布式架構(gòu)的內(nèi)存使用安全,使得任何SQL都不會(huì)影響整個(gè)計(jì)算引擎運(yùn)行的穩(wěn)定性。

        2.5改進(jìn)源碼增加算法,獲開(kāi)源社區(qū)發(fā)布,提升Spark查詢和入庫(kù)性能4倍

        首先,改進(jìn)Spark源碼增加Broadcast功能,提供在每臺(tái)機(jī)器上允許緩存一個(gè)只讀的變量,而不是每個(gè)任務(wù)保存一份副本。利用廣播變量,能夠以一種更有效率的方式將一個(gè)大數(shù)據(jù)量輸入數(shù)據(jù)的副本分配給每個(gè)節(jié)點(diǎn),從而提升Spark查詢性能4倍。這項(xiàng)關(guān)鍵技術(shù)已經(jīng)提交開(kāi)源社區(qū)獲得通過(guò),目前已經(jīng)在Spark新版本中發(fā)布。

        其次,改進(jìn)Spark源碼實(shí)現(xiàn)Spark SQL支持動(dòng)態(tài)分區(qū),Spark SQL的執(zhí)行引擎可以通過(guò)表的元數(shù)據(jù),自動(dòng)判斷文件中的分區(qū)值,然后根據(jù)分區(qū)值,創(chuàng)建或者找到對(duì)應(yīng)的目錄,把數(shù)據(jù)寫(xiě)到這個(gè)目錄的文件里,提升Spark數(shù)據(jù)入庫(kù)性能67%。這項(xiàng)關(guān)鍵技術(shù)已經(jīng)提交開(kāi)源社區(qū)獲得通過(guò),已在Spark新版本中發(fā)布。

        3 結(jié)束語(yǔ)

        基于Spark核心架構(gòu)的大數(shù)據(jù)平臺(tái)自投入運(yùn)營(yíng)以來(lái),有效匯聚了B域、O域有價(jià)值數(shù)據(jù),實(shí)現(xiàn)了跨域數(shù)據(jù)的融合處理與集中存儲(chǔ)。每日處理各類數(shù)據(jù)量約19TB,共接入1100余個(gè)數(shù)據(jù)源接口,建設(shè)940余個(gè)數(shù)據(jù)模型,開(kāi)發(fā)運(yùn)維2000個(gè)程序,完成基礎(chǔ)B域數(shù)據(jù)資產(chǎn)1213張物理表,字段23079個(gè),O域數(shù)據(jù)資產(chǎn)47張物理表,字段1579個(gè),所有大數(shù)據(jù)應(yīng)用需求均已按照新的數(shù)據(jù)分層模型進(jìn)行統(tǒng)一建設(shè)。服務(wù)11個(gè)合作伙伴開(kāi)發(fā)團(tuán)隊(duì),服務(wù)20余個(gè)專業(yè)應(yīng)用系統(tǒng)。

        同時(shí),在Spark核心架構(gòu)大數(shù)據(jù)平臺(tái)的支撐下,湖北移動(dòng)基于數(shù)據(jù)中心開(kāi)展旅游行業(yè)應(yīng)用,通過(guò)移動(dòng)通信技術(shù)及大數(shù)據(jù)處理技術(shù)相結(jié)合,獲取基礎(chǔ)數(shù)據(jù),運(yùn)用特定模型,根據(jù)應(yīng)用方向處理數(shù)據(jù),提供廣泛意義人口相關(guān)信息的應(yīng)用平臺(tái)。周期性從數(shù)據(jù)中心中獲取位置信令數(shù)據(jù)并進(jìn)行預(yù)處理,利用移動(dòng)通信基站與地區(qū)空間場(chǎng)所對(duì)應(yīng)關(guān)系,建立移動(dòng)信息與實(shí)體世界關(guān)聯(lián),在此基礎(chǔ)上,通過(guò)智能建模從統(tǒng)計(jì)上精確的把握用戶與社會(huì)資源的時(shí)空關(guān)聯(lián),進(jìn)一步進(jìn)行各種方式的信息整合和發(fā)布。

        在后期工作規(guī)劃中,一方面,對(duì)內(nèi)部算法進(jìn)行優(yōu)化,更進(jìn)一步提升效率和提升產(chǎn)品影響力。另一方面,注重產(chǎn)品的價(jià)值體系與數(shù)據(jù)變現(xiàn),以“旅游”為突破口,融合互聯(lián)網(wǎng)公司如百度旅游、淘寶魔方、移動(dòng)LBS大數(shù)據(jù)、號(hào)碼通訊等的優(yōu)點(diǎn),建立湖北旅游大數(shù)據(jù)門戶;為所有旅游景區(qū),旅游公司、游客提供免費(fèi)的大數(shù)據(jù)的基礎(chǔ)服務(wù)和有償?shù)臓I(yíng)銷增值服務(wù)。在不斷提升客戶感知的同時(shí),為企業(yè)進(jìn)行形象宣傳。

        [1]詹義, 方媛. 基于Spark技術(shù)的網(wǎng)絡(luò)大數(shù)據(jù)分析平臺(tái)搭建與應(yīng)用[J]. 互聯(lián)網(wǎng)天地, 2016(02).

        [2]彭海軍. 大數(shù)據(jù)分析平臺(tái)混合框架的研究[J]. 信息與電腦(理論版), 2015(12).

        [3]黃哲學(xué), 陳小軍, 李俊杰, 等. 面向服務(wù)的大數(shù)據(jù)分析平臺(tái)解決方案[J]. 科技促進(jìn)發(fā)展, 2014(01).

        [4]王強(qiáng), 李俊杰, 陳小軍, 等. 大數(shù)據(jù)分析平臺(tái)建設(shè)與應(yīng)用綜述[J]. 集成技術(shù), 2016(02).

        [5]管廷昭, 夏艷東. 大數(shù)據(jù)視角下高校綜合信息分析平臺(tái)的構(gòu)建[J]. 數(shù)字技術(shù)與應(yīng)用, 2014(08).

        [6]嵇智源. 基于開(kāi)源軟件的大數(shù)據(jù)分析平臺(tái)[J]. 數(shù)字技術(shù)與應(yīng)用, 2015(03).

        [7]劉峰波. 大數(shù)據(jù)Spark技術(shù)研究[J]. 數(shù)字技術(shù)與應(yīng)用,2015(09).

        [8]宋婷汀. 大數(shù)據(jù)在銀行業(yè)務(wù)管理中的應(yīng)用研究[J]. 新經(jīng)濟(jì),2016(23).

        [9]李巍巍. 大數(shù)據(jù)技術(shù)應(yīng)用研究[J]. 自動(dòng)化與儀器儀表,2016(07).

        Research and practice on big data platform technology based on the core structures of Spark

        GUO Ci, LIAO Zhen-song
        (China Mobile Group Hubei Co., Ltd., Wuhan 430023, China)

        Since building the large enterprise big data center, Hubei Mobile integrates data from domain O, domain B and domain M, forms the standardization, open and centralizes data center platform. Hubei Mobile delves into the Hadoop and Spark the underlying technology, ecosystem software, builds a big data platform based on Spark as the core of the unifi ed data access, processing, analysis, real-time calculation,and innovatively puts forward fi ve key technology solutions, to conquer the industry published numerous problems, which bring many institutions for the enterprise to provide technical support and service support.

        big data; Spark; transparent access to data; resource management; multi-tenant

        TN915

        A

        1008-5599(2016)10-0040-06

        2016-09-16

        * 中國(guó)移動(dòng)集團(tuán)級(jí)一類科技創(chuàng)新成果,原成果名稱為《基于Spark核心架構(gòu)的大數(shù)據(jù)平臺(tái)技術(shù)研究與實(shí)踐》。

        猜你喜歡
        資源
        讓有限的“資源”更有效
        污水磷資源回收
        基礎(chǔ)教育資源展示
        崛起·一場(chǎng)青銅資源掠奪戰(zhàn)
        一樣的資源,不一樣的收獲
        我給資源分分類
        資源回收
        做好綠色資源保護(hù)和開(kāi)發(fā)
        資源再生 歡迎訂閱
        資源再生(2017年3期)2017-06-01 12:20:59
        激活村莊內(nèi)部治理資源
        決策(2015年9期)2015-09-10 07:22:44
        国产亚洲欧洲aⅴ综合一区| 麻麻张开腿让我爽了一夜| 国产第19页精品| 久久久99精品视频| 中文亚洲成a人片在线观看| 久久精品亚洲热综合一本色婷婷| 日本孕妇潮喷高潮视频| 特级做a爰片毛片免费看无码| 四虎精品影视| 97久久久久国产精品嫩草影院| 国产情侣自拍偷拍精品| 日日碰狠狠添天天爽超碰97久久| 亚洲精品字幕| 少妇高潮喷水正在播放| 亚洲AV色欲色欲WWW| 日韩人妻免费视频一专区| 亚洲加勒比久久88色综合| 欧美日韩中文国产一区发布| 色综合自拍| 国产三级在线看完整版| 在线观看国产白浆一区三区| 国产欧美日韩一区二区三区| 久久精品国产四虎| 亚洲高清自偷揄拍自拍| 中文字幕午夜精品一区二区三区| 无套内谢老熟女| 日韩av无码成人无码免费| 激情五月婷婷久久综合| 少妇被黑人嗷嗷大叫视频| 真人做爰片免费观看播放| 久久精品无码一区二区三区不| 午夜国产在线精彩自拍视频| 久久久久99人妻一区二区三区 | 久久久精品人妻一区二区三区妖精| 十四以下岁毛片带血a级| 一个人在线观看免费视频www| 无码一区二区丝袜| 国内揄拍国内精品人妻久久 | 蜜桃伦理一区二区三区| 一本大道道久久综合av| 日本免费一区二区三区|