Spark RDD經典基礎面試題

2021-10-09 22:17:29 字數 1591 閱讀 8839

sparkcontext哪一端建立的的?

driver端

dag是在哪一端被構建的?

driver端

rdd是在哪一端生成的?

driver端

呼叫rdd的運算元(transformation和action)是在哪一端呼叫的

driver端

rdd在呼叫transformation和action時需要傳入函式,函式是在哪一端宣告【定義】和傳入的?

driver端

rdd在呼叫transformation和action時需要傳入函式,請問傳入的函式是在哪一端執行了函式的業務邏輯?

executor

task是在哪一端生成的呢?

driver端

dag是在哪一端構建好的並被切分成一到多個stage的

driver端

dag是哪個類完成的切分stage的功能?

dagscheduler

dagscheduler將切分好的task以什麼樣的形式給taskscheduler

taskset

自定義的分割槽器這個類是在哪一端例項化的?

driver端

分割槽器中的getparitition方法在哪一端呼叫的呢?

executor

廣播變數是在哪一端呼叫的方法進行廣播的?

driver端

要廣播的資料應該在哪一端先建立好再廣播呢?

driver端

廣播變數以後能修改嗎?

不能廣播變數廣播到executor後,乙個executor程序中有幾份廣播變數的資料

乙個累加器事先在哪一端建立的

driver端

累加器事先在哪一端累加的

executor

shuffle運算元是否一定會觸發shuffle

不會,需要看情況.如果現有資料已經按照一定規則和分割槽進行過劃分,將要做的操作還是一樣的分割槽規則和分割槽數量,則不需要再次shuffle了.具體可以看**

如reducebykey

從上述原始碼可以看出,如果之前的分割槽器和現在要使用的分割槽器是一樣的,都是hashpartitionner,並且分割槽器相等,則會按照key對資料做聚合,而不會產生shuffle

否則就會建立乙個新的shufflerdd物件,這時候才會真正的產生shuffle操作.

注意,對於雜湊分割槽器來說,重寫了equals方法,首先2者需要都是雜湊分割槽器

然後是2者的分割槽數量相同,因為雜湊分割槽器就是將key的雜湊值模除分割槽數量,所以符合2個條件之後,起始2者就算相等了,就算位址值不同,最終的分割槽結果也是一樣的

C 基礎經典面試題

1.請問以下 有什麼問題 int main 沒有為str分配記憶體空間,將會發生異常 問題出在將乙個字串 複製進乙個字元變數指標所指位址。雖然可以正確輸出結果,但因為越界進行記憶體讀寫而導致程式崩潰。char s aaa printf s s s 0 b printf s s 有 什麼錯?aaa 是...

經典面試題

1.以下三條輸出語句分別輸出什麼?char str1 abc char str2 abc const char str3 abc const char str4 abc const char str5 abc const char str6 abc cout boolalpha str1 str2 ...

經典面試題

我的老同學現在富得流油。他開創了乙個軟體公司,開發了一系列軟體,生意越做越大。今天他來到這個城市後馬上打 給我。是我啊!聽出來了嗎?是這樣的,我到這兒的大學招畢業生,要在這兒呆上五天,咱哥們趁這個時間好好聚一聚。我做東!既然他要做東,我理所當然順水推舟。人家是老闆,不吃白不吃!我來到他下榻的賓館,看...