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

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

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

2023-03-13 21:44 作者:zjlala96  | 我要投稿

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


1.簡述Spark的兩種核心Shuffle(HashShuffle與SortShuffle)的工作流程(包括未優(yōu)化的HashShuffle、優(yōu)化的HashShuffle、普通的SortShuffle與bypass的SortShuffle)(重點)

未經(jīng)優(yōu)化的HashShuffle:

?

優(yōu)化后的Shuffle

普通的SortShuffle:

當(dāng)?shuffle read task?的 數(shù) 量 小 于 等 于?spark.shuffle.sort。

bypassMergeThreshold?參數(shù)的值時(默認(rèn)為?200),就會啟用?bypass?機制。

2.Spark常用算子reduceByKey與groupByKey的區(qū)別(重點)

reduceByKey:按照key進行聚合,在shuffle之前有combine(預(yù)聚合)操作,返回結(jié)果是RDD[k,v]。

groupByKey:按照key進行分組,直接進行shuffle。

開發(fā)指導(dǎo):reduceByKey比groupByKey,建議使用。但是需要注意是否會影響業(yè)務(wù)邏輯。

3.簡述Spark中共享變量(廣播變量和累加器)的基本原理

累加器(accumulator)是Spark中提供的一種分布式的變量機制,其原理類似于mapreduce,即分布式的改變,然后聚合這些改變。累加器的一個常見用途是在調(diào)試時對作業(yè)執(zhí)行過程中的事件進行計數(shù)。而廣播變量用來高效分發(fā)較大的對象。

共享變量出現(xiàn)的原因:

通常在向?Spark?傳遞函數(shù)時,比如使用?map()?函數(shù)或者用?filter()?傳條件時,可以使用驅(qū)動器程序中定義的變量,但是集群中運行的每個任務(wù)都會得到這些變量的一份新的副本,更新這些副本的值也不會影響驅(qū)動器中的對應(yīng)變量。

Spark的兩個共享變量,累加器與廣播變量,分別為結(jié)果聚合與廣播這兩種常見的通信模式突破了這一限制。

4.Transformation和action是什么?舉幾個常用方法

RDD?創(chuàng)建后就可以在?RDD?上進行數(shù)據(jù)處理。RDD?支持兩種操作: 1.?轉(zhuǎn)換(transformation):?即從現(xiàn)有的數(shù)據(jù)集創(chuàng)建一個新的數(shù)據(jù)集?2.?動作(action):?即在數(shù)據(jù)集上進行計算后,返回一個值給?Driver?程序

RDD?的轉(zhuǎn)化操作是返回一個新的?RDD?的操作,比如?map()?和?filter()?,而行動操作則是向驅(qū)動器程序返回結(jié)果或把結(jié)果寫入外部系統(tǒng)的操作,會觸發(fā)實際的計算,比如?count()?和?first()?。Spark?對待轉(zhuǎn)化操作和行動操作的方式很不一樣,因此理解你正在進行的操作的類型是很重要的。如果對于一個特定的函數(shù)是屬于轉(zhuǎn)化操作還是行動操作感到困惑,你可以看看它的返回值類型:轉(zhuǎn)化操作返回的是?RDD,而行動操作返回的是其他的數(shù)據(jù)類型。

RDD?中所有的?Transformation?都是惰性的,也就是說,它們并不會直接計算結(jié)果。相反的它們只是記住了這些應(yīng)用到基礎(chǔ)數(shù)據(jù)集(例如一個文件)上的轉(zhuǎn)換動作。只有當(dāng)發(fā)生一個要求返回結(jié)果給?Driver?的?Action?時,這些Transformation?才會真正運行。

這個設(shè)計讓?Spark?更加有效的運行。

鎖屏面試題百日百刷-Spark篇(四)的評論 (共 條)

分享到微博請遵守國家法律
曲麻莱县| 天峻县| 馆陶县| 阳谷县| 南华县| 武胜县| 高要市| 九台市| 正安县| 丹东市| 电白县| 彭水| 繁昌县| 鲁山县| 富蕴县| 辛集市| 汾阳市| 新乡县| 惠东县| 大荔县| 镇平县| 曲阳县| 崇左市| 宿迁市| 治县。| 曲靖市| 霞浦县| 仲巴县| 新昌县| 灵寿县| 沁源县| 广东省| 普陀区| 定襄县| 璧山县| 邯郸县| 北流市| 霞浦县| 溧阳市| 武山县| 绥滨县|