
面試hadoop可能被問到的問題,附部分參考答案
盡信書不如無書,盡信答案不如無答案,下面只供參考:
一、hadoop運行的原理?
hadoop主要由三方面組成:
1、HDFS
2、MapReduce
3、Hbase
Hadoop框架中最核心的設計就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇論文所提及而被廣為流傳的, 簡單的一句話解釋MapReduce就是“任務的分解與結果的匯總”。HDFS是Hadoop分布式文件系統(Hadoop Distributed File System)的縮寫 ,為分布式計算存儲提供了底層支持。
MapReduce從它名字上來看就大致可以看出個緣由,兩個動詞Map和Reduce,“Map(展開)”就是將一個任務分解成為多個任 務,“Reduce”就是將分解后多任務處理的結果匯總起來,得出最后的分析結果。這不是什么新思想,其實在前面提到的多線程,多任務的設計就可以找到這種思想的影子。
不論是現實社會,還是在程序設計中,一項工作往往可以被拆分成為多個任務,任務之間的關系可以分為兩種:一種是不相關的任務,可以并行執 行;另一種是任務之間有相互的依賴,先后順序不能夠顛倒,這類任務是無法并行處理的?;氐酱髮W時期,教授上課時讓大家去分析關鍵路徑,無非就是找最省時的 任務分解執行方式。在分布式系統中,機器集群就可以看作硬件資源池,將并行的任務拆分,然后交由每一個空閑機器資源去處理,能夠極大地提高計算效率,同時 這種資源無關性,對于計算集群的擴展無疑提供了最好的設計保證。(其實我一直認為Hadoop的卡通圖標不應該是一個小象,應該是螞蟻,分布式計算就好比 螞蟻吃大象,廉價的機器群可以匹敵任何高性能的計算機,縱向擴展的曲線始終敵不過橫向擴展的斜線)。任務分解處理以后,那就需要將處理以后的結果再匯總起 來,這就是Reduce要做的工作。
2、mapreduce的原理?
Hadoop中的MapReduce是一個使用簡易的軟件框架,基于它寫出來的應用程序能夠運行在由上千個商用機器組成的大型集群上,并以一種可靠容錯的式并 行處理上T級別的數據集。
一個MapReduce作業(job)通常會把輸入的數據集切分為若干獨立的數據塊,由map任務(task)以完全并行的方式處理它們??蚣軙ap的輸出先進行排序,然后把結果輸入給reduce任務。通常作業的輸入和輸出都會被存儲在文件系統中。整個框架負責任務的調度和監控,以及重新執行已經失敗的任務。
通常,MapReduce框架和分布式文件系統是運行在一組相同的節點上的,也就是說,計算節點和存儲節點通常在一起。這種配置允許框架在那些已經存好數據的節點上高效地調度任務,這可以使整個集群的網絡帶寬被非常高效地利用。
MapReduce框架由一個單獨的master JobTracker和每個集群節點一個slave TaskTracker共同組成。master負責調度構成一個作業的所有任務,這些任務分布在不同的slave上,master監控它們的執行,重新執行已經失敗的任務。而slave僅負責執行由master指派的任務
3、HDFS存儲的機制?
HDFS的三個實體
數據塊
每個磁盤都有默認的數據塊大小,這是磁盤進行讀寫的基本單位.構建于單個磁盤之上的文件系統通過磁盤塊來管理該文件系統中的塊.該文件系統中的塊一般為磁盤塊的整數倍.磁盤塊一般為512字節.HDFS也有塊的概念,默認為64MB(一個map處理的數據大小).HDFS上的文件也被劃分為塊大小的多個分塊,與其他文件系統不同的是,HDFS中小于一個塊大小的文件不會占據整個塊的空間.
HDFS用塊存儲帶來的第一個明顯的好處一個文件的大小可以大于網絡中任意一個磁盤的容量,數據塊可以利用磁盤中任意一個磁盤進行存儲.第二個簡化了系統的設計,將控制單元設置為塊,可簡化存儲管理,計算單個磁盤能存儲多少塊就相對容易.同時也消除了對元數據的顧慮,如權限信息,可以由其他系統單獨管理.
DataNode節點
DataNode是HDFS文件系統的工作節點,它們根據需要存儲并檢索數據塊,受NameNode節點調度.并且定期向NameNode發送它們所存儲的塊的列表
NameNode節點
NameNode管理HDFS文件系統的命名空間,它維護著文件系統樹及整棵樹的所有的文件及目錄.這些文件以兩個文件形式永久保存在本地磁盤上(命名空間鏡像文件和編輯日志文件).NameNode記錄著每個文件中各個塊所在的數據節點信息但并不永久保存這些塊的位置信息,因為這些信息在系統啟動時由數據節點重建.
沒有NameNode,文件系統將無法使用.如提供NameNode服務的機器損壞,文件系統上的所有文件丟失,我們就不能根據DataNode的塊來重建文件.因此,對NameNode的容錯非常重要.第一種機制,備份那些組成文件系統元數據持久狀態的文件.通過配置使NameNode在多個文件系統上保存元數據的持久狀態或將數據寫入本地磁盤的同時,寫入一個遠程掛載的網絡文件系統.當然這些操作都是原子操作.第二種機制是運行一個輔助的NameNode,它會保存合并后的命名空間鏡像的副本,并在Name/Node發生故障時啟用.但是輔助NameNode保存.態總是滯后于主力節點,所以在主節點全部失效后難免丟失數據.在這種情況下,一般把存儲在遠程掛載的網絡文件系統的數據復制到輔助NameNode并作為新的主NameNode運行
四、舉一個簡單的例子說明mapreduce是怎么來運行的 ?
五、面試的人給你出一些問題,讓你用mapreduce來實現?
比如:現在有10個文件夾,每個文件夾都有1000000個url.現在讓你找出top1000000url。
六、hadoop中Combiner的作用?
1、combiner最基本是實現本地key的聚合,對map輸出的key排序,value進行迭代。如下所示:
map: (K1, V1) → list(K2, V2)
combine: (K2, list(V2)) → list(K2, V2)
reduce: (K2, list(V2)) → list(K3, V3)
2、combiner還具有類似本地的reduce功能.
例如hadoop自帶的wordcount的例子和找出value的最大值的程序,combiner和reduce完全一致。如下所示:
map: (K1, V1) → list(K2, V2)
combine: (K2, list(V2)) → list(K3, V3)
reduce: (K3, list(V3)) → list(K4, V4)
3、如果不用combiner,那么,所有的結果都是reduce完成,效率會相對低下。使用combiner,先完成的map會在本地聚合,提升速度。
4、對于hadoop自帶的wordcount的例子,value就是一個疊加的數字,所以map一結束就可以進行reduce的value疊加,而不必要等到所有的map結束再去進行reduce的value疊加。
combiner使用的合適,可以在滿足業務的情況下提升job的速度,如果不合適,則將導致輸出的結果不正確。
數據分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
CDA數據分析師證書考試體系(更新于2025年05月22日)
2025-05-26解碼數據基因:從數字敏感度到邏輯思維 每當看到超市貨架上商品的排列變化,你是否會聯想到背后的銷售數據波動?三年前在零售行 ...
2025-05-23在本文中,我們將探討 AI 為何能夠加速數據分析、如何在每個步驟中實現數據分析自動化以及使用哪些工具。 數據分析中的AI是什么 ...
2025-05-20當數據遇見人生:我的第一個分析項目 記得三年前接手第一個數據分析項目時,我面對Excel里密密麻麻的銷售數據手足無措。那些跳動 ...
2025-05-20在數字化運營的時代,企業每天都在產生海量數據:用戶點擊行為、商品銷售記錄、廣告投放反饋…… 這些數據就像散落的拼圖,而相 ...
2025-05-19在當今數字化營銷時代,小紅書作為國內領先的社交電商平臺,其銷售數據蘊含著巨大的商業價值。通過對小紅書銷售數據的深入分析, ...
2025-05-16Excel作為最常用的數據分析工具,有沒有什么工具可以幫助我們快速地使用excel表格,只要輕松幾步甚至輸入幾項指令就能搞定呢? ...
2025-05-15數據,如同無形的燃料,驅動著現代社會的運轉。從全球互聯網用戶每天產生的2.5億TB數據,到制造業的傳感器、金融交易 ...
2025-05-15大數據是什么_數據分析師培訓 其實,現在的大數據指的并不僅僅是海量數據,更準確而言是對大數據分析的方法。傳統的數 ...
2025-05-14CDA持證人簡介: 萬木,CDA L1持證人,某電商中廠BI工程師 ,5年數據經驗1年BI內訓師,高級數據分析師,擁有豐富的行業經驗。 ...
2025-05-13CDA持證人簡介: 王明月 ,CDA 數據分析師二級持證人,2年數據產品工作經驗,管理學博士在讀。 學習入口:https://edu.cda.cn/g ...
2025-05-12CDA持證人簡介: 楊貞璽 ,CDA一級持證人,鄭州大學情報學碩士研究生,某上市公司數據分析師。 學習入口:https://edu.cda.cn/g ...
2025-05-09CDA持證人簡介 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度、美團、阿里等 ...
2025-05-07相信很多做數據分析的小伙伴,都接到過一些高階的數據分析需求,實現的過程需要用到一些數據獲取,數據清洗轉換,建模方法等,這 ...
2025-05-06以下的文章內容來源于劉靜老師的專欄,如果您想閱讀專欄《10大業務分析模型突破業務瓶頸》,點擊下方鏈接 https://edu.cda.cn/g ...
2025-04-30CDA持證人簡介: 邱立峰 CDA 數據分析師二級持證人,數字化轉型專家,數據治理專家,高級數據分析師,擁有豐富的行業經驗。 ...
2025-04-29CDA持證人簡介: 程靖 CDA會員大咖,暢銷書《小白學產品》作者,13年頂級互聯網公司產品經理相關經驗,曾在百度,美團,阿里等 ...
2025-04-28CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-27數據分析在當今信息時代發揮著重要作用。單因素方差分析(One-Way ANOVA)是一種關鍵的統計方法,用于比較三個或更多獨立樣本組 ...
2025-04-25CDA持證人簡介: 居瑜 ,CDA一級持證人國企財務經理,13年財務管理運營經驗,在數據分析就業和實踐經驗方面有著豐富的積累和經 ...
2025-04-25