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

        ?

        基于Spark的性能優(yōu)化及Spark在深度學(xué)習(xí)的應(yīng)用研究

        2020-06-29 09:58:11段智華
        大眾科學(xué)·中旬 2020年7期
        關(guān)鍵詞:深度學(xué)習(xí)大數(shù)據(jù)人工智能

        摘要:隨著人工智能和大數(shù)據(jù)時(shí)代的到來,Spark+AI大數(shù)據(jù)平臺(tái)快速發(fā)展,Spark是當(dāng)今大數(shù)據(jù)領(lǐng)域最活躍、最熱門、最高效的大數(shù)據(jù)通用計(jì)算平臺(tái)。到目前為止,Spark是唯一一個(gè)將大規(guī)模數(shù)據(jù)處理與最先進(jìn)的機(jī)器學(xué)習(xí)和人工智能算法相結(jié)合的統(tǒng)一分析引擎。本文闡述了Spark大數(shù)據(jù)技術(shù)在中國電信天翼高清IPTV端到端系統(tǒng)中的應(yīng)用,以Spark大數(shù)據(jù)平臺(tái)的性能優(yōu)化及Spark在深度學(xué)習(xí)的應(yīng)用為研究對(duì)象,從Spark內(nèi)存管理、JVM GC性能調(diào)優(yōu)、數(shù)據(jù)序列化、數(shù)據(jù)類型優(yōu)化、Spark緩存優(yōu)化、數(shù)據(jù)傾斜調(diào)優(yōu)、Spark算子調(diào)優(yōu)、Spark在深度學(xué)習(xí)的應(yīng)用調(diào)優(yōu)進(jìn)行闡述,并對(duì)大數(shù)據(jù)技術(shù)未來的發(fā)展進(jìn)行了展望 。

        關(guān)鍵詞: Spark;人工智能;大數(shù)據(jù);深度學(xué)習(xí);內(nèi)存優(yōu)化;Shuffle優(yōu)化;性能優(yōu)化

        1 引言

        Spark是當(dāng)今大數(shù)據(jù)領(lǐng)域最活躍、最熱門、最高效的大數(shù)據(jù)通用計(jì)算平臺(tái),Spark誕生于美國加州大學(xué)伯克利分校AMP實(shí)驗(yàn)室。Apache Spark已經(jīng)成為大數(shù)據(jù)領(lǐng)域最大的開源社區(qū),達(dá)到250多個(gè)組織的1400多個(gè)貢獻(xiàn)者。在任何規(guī)模的數(shù)據(jù)計(jì)算中,Spark在性能和擴(kuò)展性上都更具優(yōu)勢(shì)。近年來,Spark技術(shù)在工業(yè)界得到廣泛應(yīng)用,中國電信公司基于Spark大數(shù)據(jù)技術(shù)自研構(gòu)建了天翼高清IPTV端到端系統(tǒng),基于全國超大規(guī)模的實(shí)時(shí)數(shù)據(jù)進(jìn)行大數(shù)據(jù)分析。本文結(jié)合生產(chǎn)業(yè)務(wù)場(chǎng)景對(duì)Spark性能優(yōu)化進(jìn)行了實(shí)踐探索,從Spark內(nèi)存管理、JVM GC性能調(diào)優(yōu)、數(shù)據(jù)序列化、數(shù)據(jù)類型優(yōu)化、Spark緩存優(yōu)化、數(shù)據(jù)傾斜調(diào)優(yōu)、Spark算子調(diào)優(yōu)、Spark在深度學(xué)習(xí)的調(diào)優(yōu)進(jìn)行闡述。實(shí)踐表明,經(jīng)過一系列的優(yōu)化措施,提升了Spark集群的計(jì)算性能及Spark任務(wù)執(zhí)行速度。

        2 ?天翼高清IPTV端到端系統(tǒng)案例實(shí)踐

        Spark大數(shù)據(jù)技術(shù)為天翼高清IPTV端到端系統(tǒng)的穩(wěn)定運(yùn)行提供了支撐保障,在天翼高清IPTV端到端系統(tǒng)中,清洗模塊、單質(zhì)量模塊、考核模塊、多維度計(jì)算模塊、告警模塊等模塊均以Spark技術(shù)作為核心基石,各模塊基于Spark Core 、Spark SQL、Spark Streaming、Spark ML等技術(shù)進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn)。

        在生產(chǎn)實(shí)踐中經(jīng)常會(huì)面臨Spark性能優(yōu)化的問題,Spark應(yīng)用程序基于內(nèi)存進(jìn)行計(jì)算,系統(tǒng)運(yùn)行性能瓶頸受到集群資源的限制(例如,CPU、網(wǎng)絡(luò)帶寬、內(nèi)存、存儲(chǔ)等)。一個(gè)簡單的方法是增加Spark的計(jì)算資源。

        (1)Spark內(nèi)存管理。

        Spark的內(nèi)存包括執(zhí)行內(nèi)存、存儲(chǔ)內(nèi)存。執(zhí)行內(nèi)存是指在洗牌、關(guān)聯(lián)、排序及聚合中用于計(jì)算的內(nèi)存,存儲(chǔ)內(nèi)存是指在集群中存儲(chǔ)內(nèi)部數(shù)據(jù)的內(nèi)存,兩者共享一個(gè)統(tǒng)一的內(nèi)存區(qū)域,可以配置spark.memory.fraction、spark.memory.storageFraction等參數(shù)進(jìn)行調(diào)參。

        (2)JVM GC性能調(diào)優(yōu)。

        當(dāng)加載的數(shù)據(jù)及Shuffle讀寫操作數(shù)據(jù)量較大時(shí),可能會(huì)出現(xiàn)JVM GC的問題。如果出現(xiàn)GC,首先要收集垃圾回收發(fā)生的頻率和GC所用時(shí)間的統(tǒng)計(jì)信息,考慮將對(duì)象進(jìn)行序列化緩存,GC優(yōu)化的效果取決于應(yīng)用程序和可用內(nèi)存的多少。在案例實(shí)踐中要協(xié)調(diào)平衡Spark執(zhí)行內(nèi)存和存儲(chǔ)內(nèi)存的關(guān)系、JVM年輕代內(nèi)存和老年代內(nèi)存的關(guān)系、加載數(shù)據(jù)總量大小與批處理數(shù)據(jù)大小的關(guān)系。在JVM GC性能調(diào)優(yōu)時(shí),可以采用數(shù)據(jù)序列化、調(diào)整數(shù)據(jù)類型、數(shù)據(jù)緩存等方法。

        (3)數(shù)據(jù)序列化。

        Spark提供了Java序列化、kryo序列化方式,Kryo比Java序列化運(yùn)行速度更快、更緊湊。在案例實(shí)踐中采用了Kyro的序列化,將自定義的話單類型注冊(cè)給Kyro序列化器,并設(shè)置默認(rèn)緩存空間的大小。

        1)調(diào)整數(shù)據(jù)類型。

        Java字符串類型占用內(nèi)存空間較大,在案例實(shí)踐中將部分字段的String類型調(diào)整為Long類型,減少內(nèi)存的消耗;加載文件時(shí)候篩選業(yè)務(wù)字段,從70個(gè)字段調(diào)整為10個(gè)字段,減少了內(nèi)存空間的占用。

        2)使用Spark緩存。

        天翼高清IPTV端到端系統(tǒng)的播放類型包括組播、直播單播、時(shí)移、回看、點(diǎn)播、直播

        及點(diǎn)播匯總等各個(gè)類型,每次都加載HDFS數(shù)據(jù),運(yùn)行時(shí)間較長。使用Spark緩存進(jìn)行優(yōu)化,先從HDFS文件系統(tǒng)中加載數(shù)據(jù),然后將加載的數(shù)據(jù)緩存到集群內(nèi)存中,遍歷播放類型時(shí)可以直接讀取緩存中的數(shù)據(jù),計(jì)算性能大幅提升。

        3)Spark數(shù)據(jù)傾斜調(diào)優(yōu)。

        數(shù)據(jù)傾斜是Spark分布式計(jì)算必須面臨的問題,也是作大數(shù)據(jù)分析不能繞開的問題,

        稍微復(fù)雜一點(diǎn)的業(yè)務(wù),SparK大數(shù)據(jù)分析都需解決數(shù)據(jù)傾斜。在天翼高清IPTV端到端系統(tǒng)中,多維度模塊(區(qū)域播放類型、單節(jié)目統(tǒng)計(jì))要按省、地、縣統(tǒng)計(jì),將每一條記錄匯聚到省、地、縣編碼,進(jìn)行reducebykey聚合操作將導(dǎo)致省級(jí)編碼記錄數(shù)據(jù)傾斜的現(xiàn)象,我們使用隨機(jī)Key實(shí)現(xiàn)雙重聚合及從業(yè)務(wù)層面解決數(shù)據(jù)傾斜的問題。在第一次聚合時(shí),使用reduceByKey算子進(jìn)行Key-Value聚合,在區(qū)域播放類型、單節(jié)目模塊將每個(gè)區(qū)域編碼加上隨機(jī)數(shù)前綴打散,組成一個(gè)新的Key值,調(diào)用reduceByKey操作。第二次聚合時(shí),再去掉每個(gè)區(qū)域編碼的前綴隨機(jī)數(shù),再調(diào)用一次reduceByKey操作,得到按區(qū)域統(tǒng)計(jì)的全局聚合結(jié)果。

        在業(yè)務(wù)層面,單節(jié)目模塊包括直播、點(diǎn)播,需根據(jù)區(qū)域編碼、節(jié)目編碼、播放類型等字段進(jìn)行聚合計(jì)算,直播節(jié)目的記錄包括省、地、縣的記錄,點(diǎn)播記錄包括省級(jí)的記錄,如果將直播、點(diǎn)播記錄合在一起進(jìn)行聚合計(jì)算,將發(fā)生數(shù)據(jù)傾斜的情況,某一些任務(wù)運(yùn)行特別緩慢,不能進(jìn)行實(shí)時(shí)統(tǒng)計(jì)分析。

        4)Spark算子調(diào)優(yōu)。

        在天翼高清IPTV端到端系統(tǒng)中,單節(jié)目模塊月維度的統(tǒng)計(jì)原采用collect方法將數(shù)據(jù)

        全部收集到Driver節(jié)點(diǎn)寫入HDFS及數(shù)據(jù)庫,單節(jié)目數(shù)據(jù)量較大,導(dǎo)致運(yùn)行時(shí)間較長及內(nèi)存溢出。在案例實(shí)踐中將foreach算子調(diào)整為foreachPartition算子,對(duì)每一個(gè)分區(qū)建立一個(gè)連接,按分區(qū)寫入數(shù)據(jù),提升了系統(tǒng)運(yùn)行性能。

        3 Spark在深度學(xué)習(xí)的調(diào)優(yōu)

        Pytorch 、Tensorflow深度學(xué)習(xí)框架是科研界、工業(yè)界運(yùn)用最廣泛的人工智能框架,基于Databricks及亞馬遜(Amazon)公司的云計(jì)算平臺(tái),將Spark與Pytorch 、Tensorflow無縫集成,實(shí)現(xiàn)基于Spark的數(shù)據(jù)預(yù)處理、單節(jié)點(diǎn)、分布式深度學(xué)習(xí)訓(xùn)練及分布式深度學(xué)習(xí)預(yù)測(cè)推理。Spark在深度學(xué)習(xí)層面可能的一些調(diào)優(yōu)方法,包括:

        深度學(xué)習(xí)模型本身的性能調(diào)優(yōu)。例如,ResNet-50模型加載預(yù)訓(xùn)練模型+微調(diào)網(wǎng)絡(luò)全部參數(shù);或者,凍結(jié)輸出層以外的所有網(wǎng)絡(luò),微調(diào)輸出層參數(shù)。

        分布式深度學(xué)習(xí)預(yù)測(cè)中數(shù)據(jù)輸入管道的調(diào)優(yōu)。如果數(shù)據(jù)輸入是瓶頸,可以使用Spark加載數(shù)據(jù),轉(zhuǎn)換為Spark DataFrame作為模型的輸入,合理設(shè)置Spark批處理的記錄數(shù),以提升系統(tǒng)吞吐量。

        4 未來展望

        Spark官網(wǎng)即將發(fā)布 Apache Spark 3.0版本,新版本將包含許多重要的新特性,包括支持GPU 感知調(diào)度、Spark Graph 圖增強(qiáng)、PySpark 可用性進(jìn)一步提升等。FaceBook、谷歌、Amazon等業(yè)界最領(lǐng)先的人工智能公司,正在全面的轉(zhuǎn)向深度學(xué)習(xí)。人工智能學(xué)習(xí)的核心是深度學(xué)習(xí),深度學(xué)習(xí)是目前商業(yè)界最有價(jià)值和潛力的,深度學(xué)習(xí)應(yīng)用于自動(dòng)駕駛和演示人工智能武器等,增強(qiáng)學(xué)習(xí)的核心是實(shí)時(shí)的與環(huán)境進(jìn)行交互,交互的能力可從環(huán)境交互中不斷提升自己的能力,增強(qiáng)學(xué)習(xí)和深度學(xué)習(xí)的聯(lián)合體,將使增強(qiáng)學(xué)習(xí)爆發(fā)出終極的潛力,也使深度學(xué)習(xí)的價(jià)值最大化。

        參考文獻(xiàn)

        [1]《Spark大數(shù)據(jù)商業(yè)實(shí)戰(zhàn)三部曲》第二版:清華大學(xué)出版社,王家林、段智華.

        [2]《Spark大數(shù)據(jù)商業(yè)實(shí)戰(zhàn)三部曲》:清華大學(xué)出版社,王家林、段智華、夏陽.

        [3]《Spark內(nèi)核機(jī)制解析及性能調(diào)優(yōu)》:機(jī)械工業(yè)出版社,王家林、段智華.

        [4]《Spark SQL大數(shù)據(jù)實(shí)例開發(fā)教程》:機(jī)械工業(yè)出版社,王家林、段智華.

        猜你喜歡
        深度學(xué)習(xí)大數(shù)據(jù)人工智能
        2019:人工智能
        商界(2019年12期)2019-01-03 06:59:05
        人工智能與就業(yè)
        數(shù)讀人工智能
        小康(2017年16期)2017-06-07 09:00:59
        MOOC與翻轉(zhuǎn)課堂融合的深度學(xué)習(xí)場(chǎng)域建構(gòu)
        大數(shù)據(jù)技術(shù)在反恐怖主義中的應(yīng)用展望
        深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
        基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
        軟件工程(2016年8期)2016-10-25 15:47:34
        基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
        科技視界(2016年20期)2016-09-29 10:53:22
        下一幕,人工智能!
        亚洲第一页视频在线观看| 精品第一页| 日本国产一区二区三区在线观看| 久久精品伊人久久精品伊人| 丰满人妻一区二区三区视频| 尤物视频在线观看| 国产免费网站看v片元遮挡| 精品国产三级国产av| 日出白浆视频在线播放| 亚洲av最新在线网址| 国产av成人精品播放| 亚洲黑寡妇黄色一级片| 亚洲成av人片女在线观看| 日本丰满熟妇hd| 亚洲欧美日韩中文字幕网址| 中文字幕手机在线精品| 99在线精品免费视频| 国产精品高潮呻吟av久久4虎 | 欧洲乱码伦视频免费| 亚洲不卡免费观看av一区二区| 精品亚洲国产成人| 日韩精品大片在线观看| 黄色三级视频中文字幕| 亚洲一区二区日韩专区| 亚洲av永久精品爱情岛论坛| 久久精品国产亚洲不av麻豆| 亚洲国产大胸一区二区三区| av无码小缝喷白浆在线观看| 久久欧美与黑人双交男男| 国产小车还是日产的好| 亚洲av手机在线网站| 精品淑女少妇av久久免费| 久久福利资源国产精品999| 日韩精品一区二区亚洲专区| 国产放荡对白视频在线观看| 欧韩视频一区二区无码| 性一交一乱一乱一视频亚洲熟妇| 老鲁夜夜老鲁| 一本大道久久香蕉成人网| 挑战亚洲美女视频网站| 国产高清在线视频一区二区三区|