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

        ?

        Spark參數(shù)重要性研究

        2020-04-14 04:54:29王奕
        電腦知識與技術(shù) 2020年4期
        關(guān)鍵詞:分布式重要性

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

        關(guān)鍵詞:Spark;分布式;配置參數(shù);任務(wù)運行時間;重要性

        中圖分類號:TP311.13

        文獻標識碼:A

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

        收稿日期:2019-11-02

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

        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年開發(fā)的一個基于內(nèi)存的分布式計算系統(tǒng)。由于其在編程模型和性能的靈活性方面改進了Hadoop[2]MapReduce[3],尤其針對迭代式應(yīng)用,所以Spark已經(jīng)成為廣泛應(yīng)用的大規(guī)模并行數(shù)據(jù)分析的計算框架之一。Spark 的編程核心是彈性分布式數(shù)據(jù)集(RDD)[4],RDD是一種不可變的分布式數(shù)據(jù)集合,它可以將計算中間結(jié)果:保存在內(nèi)存中以加速計算。Spark對于RDD有兩種算子操作:Transformation(轉(zhuǎn)換)和Action(行動),其中Transformation(如map ilter等)表示父RDD轉(zhuǎn)換成子RDD是惰性執(zhí)行的過程,直到有Action(如count、top等)操作時,才會觸發(fā)Spark提交作業(yè)開始計算。RDD之間存在寬依賴(W ide Dependencies)和窄依賴(Narrow Dependencies)兩種依賴關(guān)系,其中寬依賴指的是一個父RDD分區(qū)對應(yīng)多個子RDD分區(qū),如ReduceByKey、SortbyKey等,窄依賴指的是一個父RDD分區(qū)對應(yīng)一個子RDD分區(qū),如filter .union等。

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

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

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

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

        2 實驗分析

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

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

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

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

        (4)內(nèi)存存儲參數(shù):spark.executor.memory,spark.memory.fraction,spark.memory.storageF raction,spark.driver.memory

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

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

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

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

        3 結(jié)論

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

        [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,F(xiàn)ranklin 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.

        [通聯(lián)編輯:光文玲]

        猜你喜歡
        分布式重要性
        土木工程中建筑節(jié)能的重要性簡述
        “0”的重要性
        論七分飽之重要性
        幼兒教育中閱讀的重要性
        甘肅教育(2020年21期)2020-04-13 08:09:24
        論七分飽之重要性
        分布式光伏發(fā)展的四大矛盾
        能源(2017年7期)2018-01-19 05:05:03
        分布式光伏熱錢洶涌
        能源(2017年10期)2017-12-20 05:54:07
        基于預(yù)處理MUSIC算法的分布式陣列DOA估計
        分布式光伏:爆發(fā)還是徘徊
        能源(2017年5期)2017-07-06 09:25:54
        讀《邊疆的重要性》有感
        唐山文學(2016年11期)2016-03-20 15:26:04
        天天做天天爱天天综合网2021| 久久亚洲av熟女国产| 华人在线视频精品在线| 免费国产a国产片高清网站| 116美女极品a级毛片| 国产精品国产午夜免费福利看| 国产精品国产三级农村妇女| 国产精品天天看天天狠| 久久水蜜桃亚洲av无码精品麻豆| 国产精品亚洲专区无码web | 男人天堂亚洲天堂av| 亚欧免费无码AⅤ在线观看| 亚洲不卡av不卡一区二区| 欧美亚洲国产一区二区三区| 人妻一区二区三区av| 亚洲精品中文字幕乱码三区99| 国产在线视欧美亚综合| 久久久久久久久888| 婷婷综合另类小说色区| 日本高清视频在线观看一区二区 | 九九综合va免费看| 国产精品美女久久久久| 国产一区二区三区4区| 国产诱惑人的视频在线观看| 国产精品无码无卡无需播放器| 亚洲精品无码不卡av| 国产精品制服一区二区| 男奸女永久免费视频网站| 熟妇激情内射com| av无码天一区二区一三区| 中文字幕av一区二区三区诱惑| 人妻少妇看a偷人无码| 人人妻人人澡人人爽人人精品| 久久精品国产久精国产69| 国产自拍在线观看视频| 国产成人精品综合在线观看| 国产在线无码免费视频2021 | av影片在线免费观看| 欧美日韩一区二区综合| 骚片av蜜桃精品一区| 激情五月开心五月啪啪|