spark 面試題以及基礎1

2021-09-26 03:20:21 字數 1106 閱讀 5131

spark core

什麼是rdd?

rdd(resilient distributed dataset)叫做彈性分布式資料集,是spark中最基本的資料抽象,它代表乙個不可變、可分割槽、彈性。rdd是乙個可以並行操作的容錯的容錯集合集合。

1.不可以變是指的是對rdd進行運算元計算,會生成乙個新的rdd,不會改變原來最初的rdd.

2.資料可以分割槽處理

rdd的屬性(原始碼中的一段話)

1.一組分片(partition),對於rdd來說,每個分片都會被乙個計算任務處理。使用者沒有指定分片數按找cpu的core數目來指定。

2.乙個計算每個分割槽的函式。spark中rdd的計算是以分片為單位的。

3.rdd之間的依賴關係。rdd的每次轉換都會生成乙個新的rdd,所以rdd之間就會形成類似於流水線一樣的前後依賴關係。資料丟失也不要重複計算。

4.乙個partitioner,即rdd的分片函式。當前spark中實現了兩種型別的分片函式,乙個是基於雜湊的hashpartitioner,另外乙個是基於範圍的rangepartitioner。

5.乙個列表,儲存訪問每個partition的優先位置(preferred location)

1.通過外部的資料檔案建立,如hdfs

val rdd1 = sc.textfile(「hdfs:

2.通過sc.parallelize進行建立

val rdd1 = sc.parallelize(array(1,2,3,4,5,6,7,8))

3.從其他集合轉換。

rdd的型別:transformation和action

rdd中的所有轉換都是延遲載入的,也就是說,它們並不會直接計算結果。相反的,它們只是記住這些應用到基礎資料集(例如乙個檔案)上的轉換動作。

在這裡插入描述

spark面試題 一

1 driver的功能是什麼?1 乙個spark作業執行時包括乙個driver程序,也是作業的主程序,具有main函式,並且有sparkcontext的例項,是程式的人口點 2 功能 負責向集群申請資源,向master註冊資訊,負責了作業的排程,負責作業的解析 生成stage並排程task到exec...

Spark面試題 三

39.spark的udf?因為目前 spark sql 本身支援的函式有限,一些常用的函式都沒有,比如 len,concat.etc 但是使用 udf 來自己實現根據業務需要的功能是非常方便的。spark sql udf 其實是乙個 scala 函式,被 catalyst 封裝成乙個 express...

spark經典面試題

1 寬依賴 乙個分割槽對應多個分割槽,這就表明有shuffle過程,父分割槽資料經過shuffle過程的hash分割槽器劃分子rdd。例如 groupbykey reducebykey sortbykey等操作,shuffle可以理解為資料從原分割槽打亂重組到新分割槽 2 窄依賴 乙個分割槽對應乙個...