國營聯招 統計資訊統計學、巨量資料概論105 年第 45 題單選題
Spark 的 Word Count程式片段範例如下所示,下列敘述何者有誤?
text_file = sc.textFile("hdfs://...")
counts = text_file.flatMap(lambda line: line.split(" ")) \
.map(lambda word: (word, 1)) \
.reduceByKey(lambda a, b: a + b)
counts.saveAsTextFile("hdfs://...")
Acounts 從頭到尾就是單一個 RDD正確答案
BflatMap() 是依照分隔符號 (" ") 將文字檔分成一個一個的字
Cmap() 將每個字計算一次
DreduceByKey() 將相同字的值相加
A正確答案
Spark Word Count 中,counts 並非單一 RDD,而是由多個 RDD 轉換(transformation)鏈結而成的 DAG 結果。
逐選項解析
Acounts 從頭到尾就是單一個 RDD✓ 正確
BflatMap() 是依照分隔符號 (" ") 將文字檔分成一個一個的字✕ 錯誤
正確敘述。flatMap(lambda line: line.split(' ')) 會先對每一行套用 split(' '),依空白分隔成多個字,再將所有結果展平(flatten)成單一序列的字詞 RDD。
Cmap() 將每個字計算一次✕ 錯誤
正確敘述。map(lambda word: (word, 1)) 將 flatMap 輸出的每個字,各自對應到 (word, 1) 的 key-value pair,即每個字計數一次,產生新的 RDD。
DreduceByKey() 將相同字的值相加✕ 錯誤
立即註冊,看完整詳解
這題的完整詳解,註冊就能看 · 每天 2 題免費
精選詳解- 完整逐選項解析
- 秒殺解題技巧與破題關鍵
- 關鍵知識表整理
- 陷阱與易錯提醒
- 同考點歷屆題庫連續刷題與錯題本