標籤:

《MapReduce and YARN》課程第一周之Introduction MR問題集

課程地址:MapReduce and YARN

1. mapreduce和普通程序的數據流向有什麼不同?

普通程序是把數據拿到本地處理。

mapreduce是把程序分發到數據存儲的機器,來執行。

2.HDFS是如何工作的?

3.MapReduce的基本原理?

4.Hadoop的默認副本是幾個?有分布上的要求嘛?

默認3個,在同樣rack上的有2個,另外一個在另外的rack。

5.MapReduce是哪種演算法思想?

Divide and Conquer。

6.什麼是speculative task?它是為了解決什麼問題?

Speculative Task,又叫推測式任務,是指在分散式集群環境下,因為程序bug,負載不均衡或者資源分布不均,造成同一個job的多個task運行速度不一致,有的task運行速度明顯慢於其他task(比如:一個job的某個task進度只有10%,而其他所有task已經運行完畢),則這些task拖慢了作業的整體執行進度,為了避免這種情況發生,Hadoop會為該task啟動speculative task,讓該speculative task與原始task同時運行,哪個先運行完,則使用它的結果。

Speculative Task思路是以空間換時間的,同時啟動多個相同task,哪個完成的早,則採用哪個task的結果,這樣明顯可以提高任務計算速度,但是,這樣卻會佔用更多的資源,在集群資源緊缺的情況下,合理的控制Speculative Task,可在多用少量資源情況下,減少大作業的計算時間。

7.Hadoop默認的調度策略是什麼?

FIFO,可以後五個可選的優先順序。

8.Hadoop還有什麼其他的調度策略?

add-ins; Fair Scheduler; Capacity Scheduler

9.MapReduce的過程?

10.API和執行環境?

可以看出API分成old api和new api。

執行環境分為Hadoop v1(mapreduce v1)和YARN(mapreduce v2)。


推薦閱讀:

有什麼方案可以代替 Impala?
大數據那些事(8):HIVE之初期起
分散式資料庫下子查詢和join等複雜sql如何實現?
世界沉醉在數據里
數據之路(Hadoop)我該如何打好基礎?

TAG:Hadoop |