最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

鎖屏面試題百日百刷-Spark篇(十九)

2023-03-31 18:32 作者:zjlala96  | 我要投稿

鎖屏面試題百日百刷,每個(gè)工作日?qǐng)?jiān)持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網(wǎng)地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內(nèi)容,還包含特色的解鎖屏幕復(fù)習(xí)面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來(lái)的是今日的面試題:


1.spark中task有幾種類(lèi)型?

Spark中的Task有2種類(lèi)型:

1)result task類(lèi)型,最后一個(gè)task;

2)shuffleMapTask類(lèi)型,除了最后一個(gè)task都是此類(lèi)型;

2.rangePartioner分區(qū)器特點(diǎn)?

rangePartioner盡量保證每個(gè)分區(qū)中數(shù)據(jù)量的均勻,而且分區(qū)與分區(qū)之間是有序的,一個(gè)分區(qū)中的元素肯定都是比另一個(gè)分區(qū)內(nèi)的元素小或者大;但是分區(qū)內(nèi)的元素是不能保證順序的。簡(jiǎn)單的說(shuō)就是將一定范圍內(nèi)的數(shù)映射到某一個(gè)分區(qū)內(nèi)。RangePartitioner作用:將一定范圍內(nèi)的數(shù)映射到某一個(gè)分區(qū)內(nèi),在實(shí)現(xiàn)中,分界的算法尤為重要。算法對(duì)應(yīng)的函數(shù)是rangeBounds。

3.手撕代碼-如何使用Spark解決TopN問(wèn)題?

可以做一個(gè)簡(jiǎn)單的wordcount文件

def wordcount(): Unit ={

val conf = new SparkConf().setAppName("wordcount").setMaster("local[*]")

val sc = new SparkContext(conf)

sc.setLogLevel("ERROR")

val rdd1 = sc.textFile("song.txt")

val sortWord = rdd1.flatMap(_.split(" "))

.map(x => (x,1))

.reduceByKey((v1,v2) => v1 + v2)

.filter(x => x._1 != "")

.sortBy(x => x._2,false,1)

.top(2)

.foreach(println)

sc.stop()}

4.窄依賴(lài)父RDD的partition和子RDD的parition是不是都是一對(duì)一的關(guān)系?

不一定,除了一對(duì)一的窄依賴(lài),還包含一對(duì)固定個(gè)數(shù)的窄依賴(lài)(就是對(duì)父RDD的依賴(lài)的Partition的數(shù)量不會(huì)隨著RDD數(shù)量規(guī)模的改變而改變),比如join操作的每個(gè)partiion僅僅和已知的partition進(jìn)行join,這個(gè)join操作是窄依賴(lài),依賴(lài)固定數(shù)量的父rdd,因?yàn)槭谴_定的partition關(guān)系。

5.Spark中的shuffle和Hadoop的Shuffle區(qū)別和聯(lián)系分析?

6.spark.default.parallelism這個(gè)參數(shù)有什么意義,實(shí)際生產(chǎn)中如何設(shè)置?

1)參數(shù)用于設(shè)置每個(gè)stage的默認(rèn)task數(shù)量。這個(gè)參數(shù)極為重要,如果不設(shè)置可能會(huì)直接影響你的Spark作業(yè)性能;

2)很多人都不會(huì)設(shè)置這個(gè)參數(shù),會(huì)使得集群非常低效,你的cpu,內(nèi)存再多,如果task始終為1,那也是浪費(fèi),spark官網(wǎng)建議task個(gè)數(shù)為CPU的核數(shù)*executor的個(gè)數(shù)的2~3倍。

7.spark.storage.memoryFraction參數(shù)的含義,實(shí)際生產(chǎn)中如何調(diào)優(yōu)?

1)用于設(shè)置RDD持久化數(shù)據(jù)在Executor內(nèi)存中能占的比例,默認(rèn)是0.6,,默認(rèn)Executor 60%的內(nèi)存,可以用來(lái)保存持久化的RDD數(shù)據(jù)。根據(jù)你選擇的不同的持久化策略,如果內(nèi)存不夠時(shí),可能數(shù)據(jù)就不會(huì)持久化,或者數(shù)據(jù)會(huì)寫(xiě)入磁盤(pán);

2)如果持久化操作比較多,可以提高spark.storage.memoryFraction參數(shù),使得更多的持久化數(shù)據(jù)保存在內(nèi)存中,提高數(shù)據(jù)的讀取性能,如果shuffle的操作比較多,有很多的數(shù)據(jù)讀寫(xiě)操作到JVM中,那么應(yīng)該調(diào)小一點(diǎn),節(jié)約出更多的內(nèi)存給JVM,避免過(guò)多的JVM gc發(fā)生。在web ui中觀察如果發(fā)現(xiàn)gc時(shí)間很長(zhǎng),可以設(shè)置spark.storage.memoryFraction更小一點(diǎn)。

鎖屏面試題百日百刷-Spark篇(十九)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
郸城县| 怀仁县| 晋江市| 乐平市| 芜湖县| 襄垣县| 麻江县| 奈曼旗| 苍梧县| 桂平市| 光泽县| 凤山市| 钦州市| 连平县| 固安县| 廉江市| 商都县| 龙门县| 双牌县| 通州区| 湘潭县| 共和县| 沾化县| 青川县| 常州市| 托克逊县| 云林县| 南充市| 兰坪| 抚顺市| 罗平县| 沭阳县| 翼城县| 宝兴县| 永顺县| 拜泉县| 顺平县| 天气| 萨迦县| 固始县| 桂平市|