999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人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í)代的到來(lái),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ù)在中國(guó)電信天翼高清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ù)未來(lái)的發(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誕生于美國(guó)加州大學(xué)伯克利分校AMP實(shí)驗(yàn)室。Apache Spark已經(jīng)成為大數(shù)據(jù)領(lǐng)域最大的開(kāi)源社區(qū),達(dá)到250多個(gè)組織的1400多個(gè)貢獻(xiàn)者。在任何規(guī)模的數(shù)據(jù)計(jì)算中,Spark在性能和擴(kuò)展性上都更具優(yōu)勢(shì)。近年來(lái),Spark技術(shù)在工業(yè)界得到廣泛應(yīng)用,中國(guó)電信公司基于Spark大數(shù)據(jù)技術(shù)自研構(gòu)建了天翼高清IPTV端到端系統(tǒng),基于全國(guó)超大規(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)過(guò)一系列的優(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)化的問(wèn)題,Spark應(yīng)用程序基于內(nèi)存進(jìn)行計(jì)算,系統(tǒng)運(yùn)行性能瓶頸受到集群資源的限制(例如,CPU、網(wǎng)絡(luò)帶寬、內(nèi)存、存儲(chǔ)等)。一個(gè)簡(jiǎn)單的方法是增加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的問(wèn)題。如果出現(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)整為L(zhǎng)ong類型,減少內(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í)間較長(zhǎng)。使用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ì)算必須面臨的問(wèn)題,也是作大數(shù)據(jù)分析不能繞開(kāi)的問(wèn)題,

稍微復(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ù)傾斜的問(wèn)題。在第一次聚合時(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ù)庫(kù),單節(jié)目數(shù)據(jù)量較大,導(dǎo)致運(yùn)行時(shí)間較長(zhǎng)及內(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無(wú)縫集成,實(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 未來(lái)展望

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é)出版社,王家林、段智華、夏陽(yáng).

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

[4]《Spark SQL大數(shù)據(jù)實(shí)例開(kāi)發(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
下一幕,人工智能!
主站蜘蛛池模板: 午夜a视频| 色综合网址| 日本午夜三级| 久久久亚洲色| 91久久偷偷做嫩草影院免费看| 九九九久久国产精品| 亚洲中文字幕国产av| 中文一区二区视频| 尤物亚洲最大AV无码网站| 亚洲天堂免费在线视频| 中文字幕人妻av一区二区| 青青热久麻豆精品视频在线观看| 69av在线| 国产AV毛片| 国国产a国产片免费麻豆| 91丝袜乱伦| 26uuu国产精品视频| 色天堂无毒不卡| 四虎精品黑人视频| 亚洲熟女偷拍| 99久久99这里只有免费的精品| 在线观看精品国产入口| 午夜福利视频一区| 九色视频在线免费观看| 免费看久久精品99| 欧美色综合网站| 激情午夜婷婷| 国产精品久久久久久久久久98| 国产美女在线免费观看| 国产亚洲精品自在线| 欧美色综合网站| 国产一级片网址| 国产欧美日韩va另类在线播放| 日韩在线播放中文字幕| 国产清纯在线一区二区WWW| 无码人中文字幕| 永久天堂网Av| 亚洲午夜天堂| 国产原创自拍不卡第一页| 久久伊伊香蕉综合精品| 日本国产精品一区久久久| 日本免费a视频| 欧美www在线观看| 国产色图在线观看| 综合久久久久久久综合网| 久久精品国产免费观看频道| 欧美伊人色综合久久天天| 亚洲人在线| 国产在线小视频| 中国国产A一级毛片| 综合色亚洲| 91在线丝袜| 91系列在线观看| 精品午夜国产福利观看| 国产91精选在线观看| 四虎影视永久在线精品| 日韩在线中文| 素人激情视频福利| 国产女人在线| 亚洲a级毛片| 夜夜爽免费视频| 中文字幕在线不卡视频| 国产精品免费入口视频| 国产精品自在拍首页视频8| 一级毛片免费高清视频| 国产成人精品在线1区| 伊人蕉久影院| 国产成人精品亚洲77美色| 精品成人一区二区三区电影 | 又大又硬又爽免费视频| 91精品在线视频观看| 粗大猛烈进出高潮视频无码| 欧美一区二区人人喊爽| 精品国产www| 国产91导航| 日韩久草视频| 国产欧美视频综合二区| 亚洲一级毛片| 国产精品久久国产精麻豆99网站| 日韩精品免费一线在线观看| 精品国产污污免费网站| 五月激情婷婷综合|