999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Spark參數重要性研究

2020-04-14 04:54:29王奕
電腦知識與技術 2020年4期
關鍵詞:重要性

摘要:隨著大數據時代的到來,Spark因其基于內存的計算方式,已經成為當前最流行的分布式計算框架之一。為了提升易用性,Spark為用戶提供了約200個可配置參數,這些參數控制著任務的運行。然而,Spark參數空間巨大,用戶經常無法合理選擇哪些參數進行配置。針對此問題,本文通過實驗對不同Spark參數與任務運行時間之間的關系進行了詳細分析,對Spark參數重要性進行研究。實驗表明,不同參數對任務影響程度差異巨大,這對開發者如何選擇參數進行配置具有指導意義。

關鍵詞:Spark;分布式;配置參數;任務運行時間;重要性

中圖分類號:TP311.13

文獻標識碼:A

文章編號:1009-3044(2020)04-0247-03

收稿日期:2019-11-02

作者簡介:王奕(1994—),男,浙江衢州人,同濟大學在讀碩士研究生,主要研究方向為大數據。

Research on the Importance of Spark Configurations

WANG Yi

(Tongji University,Shanghai 201804,China)

Abstract:With the advent of the era of big data,Spark has become one of the most popular distributed computing frameworks due to its ?memory-based computing methods.To improve ease of use,Spark provides users with about 200 configurable parameters that control the operation of the task.However,Spark has a huge parameter space,and users often cannot reasonably choose which parameters to configure.Aiming at this problem,this paper analyzes the relationship between different Spark parameters and task running time through experiments,and studies the importance of Spark parameters.Experiments show that the impact of different parameters on the task varies greatly,which has guiding significance for developers to choose parameters for configuration.

Key words:spark;distributed;configuration parameters;task runtime;importance

1 研究背景

Apache Spark[1]是由UC Berkeley AMP lab在2009年開發的一個基于內存的分布式計算系統。由于其在編程模型和性能的靈活性方面改進了Hadoop[2]MapReduce[3],尤其針對迭代式應用,所以Spark已經成為廣泛應用的大規模并行數據分析的計算框架之一。Spark 的編程核心是彈性分布式數據集(RDD)[4],RDD是一種不可變的分布式數據集合,它可以將計算中間結果:保存在內存中以加速計算。Spark對于RDD有兩種算子操作:Transformation(轉換)和Action(行動),其中Transformation(如map ilter等)表示父RDD轉換成子RDD是惰性執行的過程,直到有Action(如count、top等)操作時,才會觸發Spark提交作業開始計算。RDD之間存在寬依賴(W ide Dependencies)和窄依賴(Narrow Dependencies)兩種依賴關系,其中寬依賴指的是一個父RDD分區對應多個子RDD分區,如ReduceByKey、SortbyKey等,窄依賴指的是一個父RDD分區對應一個子RDD分區,如filter .union等。

Spark為常見的大數據存儲技術提供了接口,如HDFS和NoSQL數據庫。Spark功能組件較為完善,如圖1所示,Spark.Core為核心組件,實現了常見的算子;SparkSQL[5]提供了類似SQL的結構化查詢方式;SparkStreaming[6]使得Spark可以支持流計算;Mllib[7]提供了常見的機器學習算法庫;GraphXI[8]提供了常見的圖算法用于圖計算。

如圖2為Spark運行架構,Driver所在節點為主節點,Worker所在節點為從節點。當用戶使用spark-submit提交一個任務后,SparkContext首先會向Master進行注冊并向資源管理器進行資源申請。資源管理器會根據參數配置,在各個從節點上啟動一定數量的Executor,每個Executor都會占用一定的計算資源(如CPUCore、內存大小等)。申請到資源后,Spark會根據程序代碼將RDD間的依賴關系形成有向無環圖(DAG),然后劃分為不同的Stage,每個Stage包含若千個Task,這些Task被分配到Executor中進行分布式計算。Task是最小的執行單元,等到所有節點上的Task執行完畢,Spark會將任務執行結果進行匯總,然后將結果輸入到下一個Stage,直到代碼邏輯執行完畢,得到最終結果并保存。

為了支持上述所有功能,Spark已經發展成為一個高效且負責的分布式計算系統,其為用戶提供了約200個參數,這些參數決定了資源的分配,控制著任務的運行。國內外很少有針對Spark參數和性能之間作用關系的研究,對于前者,Spark官網為理解大多數參數的作用提供了寶貴的指導作用。由于參數眾多,這些建議并不能使用戶快速定位自己應該配置的參數。大多數參數我們可以直觀地知道參數或多或少地影響任務執行效率和集群性能,然而熟悉不同參數對Spark任務的影響程度比僅僅知道存在影響更加重要。

在本文中,我們研究了不同Spark參數與任務運行時間之間的關系。對于每個參數,通過在相應的值范圍內隨機配置參數值,我們通過實驗獲取任務最短和最長運行時間,從而確定每個參數對任務的影響程度,確定其重要性。

2 實驗分析

Spark有約200個參數,可以分為全局參數、環境參數、任務執行參數、序列化與壓縮參數Shuffle行為參數、內存存儲參數等,其中全局參數和環,境參數數量眾多,但基本與性能之間無關,比如 name 信息、Java環境變量、HDFS地址信息等。本文結合Spark官網川的指南,選擇了16個參數進行重要性研究:

(1)任務執行參數:spark.cores.max,spark.executor.cores,spark.de-fault.parallelism

(2)序列化與壓縮參數:spark.serializer,spark.io.compression.codec,spark.rdd.compress,spark.shuffle.compress,spark.shuffle.spill.compress

(3)Shuffle 行為參數:spark.shuffle.manager,spark .shuffle.file.buffer,spark .shuffle.io.retry W ait,spark.shuffle.io.maxRetries

(4)內存存儲參數:spark.executor.memory,spark.memory.fraction,spark.memory.storageF raction,spark.driver.memory

每個參數的取值范圍在由于不同集群硬件資源的差異不盡相同,除去可選值為離散值的參數外,其余的參數我們通過算法2.1確定參數的取值范圍。

本研究從大數據壓力測試工具HiBench[9]中選取了3個有代表性的任務進行實驗,包括Sort、K-Means和PageRank。對于每個選定的參數,我們通過隨機參數生成器才參數范圍內生成參數,為其執行上述3個Spark任務并獲取平均運行時間。對于離散值的參數,我們選取每個可能取值進行測試,對于連續值的參數,我們為每個參數隨機生成50個參數值進行測試,單個任務對應的一個取值情況下運行兩次取平均運行時間。

本實驗在參數取默認值情況下,Spark任務平均運行時間為62.92秒,如圖3所示為每個參數在取值范圍內對應的Spark任務最短和最長運行時間,實驗結果顯示spark.cores.max參數對任務運行時間影響最大,最長執行時間是最短執行時間約5.35倍。為了更好地評估參數對任務運行時間的影響程度,我們定義了公式2.1,其中tmax表示任務最大運行時間,tmin表示任務最短運行時間,t。default 表示任務默認運行時間:

通過公式2.1計算可知,所選取的16個參數對任務運行時間的平均影響程度impact為58.13%,其中參數spark.cores.max的impact值達到158.93%,對任務運行時間影響最大,參數spark.shuffle.io.maxRetries的impact值為14.62%,對任務運行時間影響最小。我們還可以計算獲取任務執行參數、序列化與壓縮參數、Shufle行為參數、內存存儲參數的impact值分別為123.97%、31.47% .42.99%和57.22%。

3 結論

本文實驗分析了Spark參數與任務執行時間之間的關系,研究了參數的重要性。實驗結果表明不同參數對任務影響程度差異巨大,對Spark任務執行時間影響程度最大和最小的參數分別為spark.cores.max和spark.shufle.io.maxRetries。對于不同類型的參數,任務執行參數對Spark任務運行時間影響程度最高,其次是內存存儲參數,接著是Shuffle行為參數,最后是序列化與壓縮參數。本文對于Spark參數重要性的研究對于用戶選擇哪些參數進行配置優化具有很好的實用價值和指導意義。參考文獻:

[1]Apache Spark,htp://park.apache.org/.

[2]White T.Hadoop:The definitive guide[M]." O'Reilly Media,Inc.",2012.

[3]Dean J,Ghemawat S.MapReduce:simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):.107-113.

[4]Zaharia M,Chowdhury M,Das T,et al.Resilient distributed datasets:A fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation.USENIX Association,2012:2-2.

[5]Armbrust M,Xin R S,Lian C,et al.Spark sql:Relational data processing in spark[C]//Proceedings of the 2015 ACM SIG MOD international conference on management of data.ACM,2015:1383-1394.

[6]Zaharia M,Das T,Li H Y,et al.Discretized streams:A fault-tolerant model for scalable stream processing[R].Defense Technical Information Center,2012.

[7]Meng X,Bradley J,Yavuz B,et al.Mllib:Machine learning in apache spark[J].The Journal of Machine Learning Research,2016,17(1):1235-1241.

[8]Xin R S,Gonzalez J E,Franklin M J,et al.Graphx:A resilient distributed graph system on spark[C]//First International W orkshop on Graph Data Management Experiences and Sys-tems.ACM,2013:2.

[9]Huang S S,Huang J,Dai J Q,et al.The HiBench benchmark

suite:Characterization of the MapReduce-based data analysis [C]//2010 IEEE 26th International Conference on Data Engineering Workshops (ICDEW 2010),March 1-6,2010.Long Beach,CA,USA.IEEE,2010.

[通聯編輯:光文玲]

猜你喜歡
重要性
深刻認識“兩個確立”極端重要性
當代陜西(2021年21期)2022-01-19 01:59:38
土木工程中建筑節能的重要性簡述
“0”的重要性
論七分飽之重要性
幼兒教育中閱讀的重要性
甘肅教育(2020年21期)2020-04-13 08:09:24
MDT在炎癥性腸病診斷和治療中的重要性
醫學新知(2019年4期)2020-01-02 11:03:52
論七分飽之重要性
鈣對身體的重要性
顏值的重要性
讀《邊疆的重要性》有感
唐山文學(2016年11期)2016-03-20 15:26:04
主站蜘蛛池模板: 国产美女自慰在线观看| 第九色区aⅴ天堂久久香| 黄色国产在线| 99re在线视频观看| 青青草国产一区二区三区| 国产高清色视频免费看的网址| aⅴ免费在线观看| 青青操国产| 成人午夜天| 国产永久无码观看在线| 99激情网| 欧美一级色视频| 国产精品久久久久久久久久98 | 四虎永久在线精品国产免费| 久久免费看片| 中文字幕久久波多野结衣| 在线观看精品自拍视频| 国产福利在线免费| 国产特一级毛片| 黄色成年视频| 亚洲床戏一区| 国产在线精品人成导航| 国产精品偷伦在线观看| 精品国产自在现线看久久| 成人免费午夜视频| 91午夜福利在线观看精品| 中国精品自拍| 91久久精品国产| 亚洲A∨无码精品午夜在线观看| 天天操精品| 国产美女精品一区二区| 日韩欧美一区在线观看| 色悠久久久| 美女一级免费毛片| 亚洲开心婷婷中文字幕| 精品91视频| 日韩av无码DVD| 国产玖玖视频| 老司机精品久久| 亚洲中文字幕av无码区| 女人18毛片一级毛片在线 | 国产91视频观看| 中文字幕欧美日韩| 中国一级特黄视频| 成人国产精品2021| 国产国产人在线成免费视频狼人色| 久久精品人人做人人爽97| 国产白浆一区二区三区视频在线| 高清免费毛片| m男亚洲一区中文字幕| 亚洲精品第一在线观看视频| 亚洲福利一区二区三区| 久久综合色天堂av| 伊在人亚洲香蕉精品播放| 色哟哟国产成人精品| 国产亚洲欧美在线中文bt天堂| 国产又大又粗又猛又爽的视频| 国产 在线视频无码| 国产女人喷水视频| 国产精品久久久久久久伊一| 内射人妻无套中出无码| 青青极品在线| 色婷婷综合在线| 亚洲国产中文欧美在线人成大黄瓜| 99热这里只有精品免费国产| 久久国产精品波多野结衣| 久久黄色一级视频| 无码福利日韩神码福利片| 国产美女自慰在线观看| 久久综合丝袜长腿丝袜| 精品国产成人av免费| 亚洲综合九九| 欧美精品色视频| 毛片免费在线视频| 毛片网站在线看| 色老二精品视频在线观看| 欧美成在线视频| 日日拍夜夜操| 91小视频在线观看| 亚洲综合18p| 免费又爽又刺激高潮网址 | 亚洲视频色图|