在上兩次文章中我們給大家分享了妻献,對(duì)于剛剛從事大數(shù)據(jù)行業(yè)和已從事大數(shù)據(jù)行業(yè)的面試者可能會(huì)遇到的專(zhuān)業(yè)面試題20道,如果還沒(méi)有閱讀的朋友可以跳轉(zhuǎn)觀看哦团赁!
《干貨|50個(gè)大數(shù)據(jù)面試問(wèn)題及答案第一篇:10個(gè)大數(shù)據(jù)面試入門(mén)級(jí)問(wèn)題》
《干貨|50個(gè)大數(shù)據(jù)面試問(wèn)題及答案第二篇:10個(gè)大數(shù)據(jù)面試中級(jí)問(wèn)題?》
本次我們就來(lái)分享一下10個(gè)大數(shù)據(jù)Hadoop面試時(shí)會(huì)問(wèn)的專(zhuān)業(yè)問(wèn)題育拨。
Hadoop是最受歡迎的大數(shù)據(jù)框架之一,如果您正在進(jìn)行Hadoop面試欢摄,請(qǐng)為Big Data Hadoop準(zhǔn)備這些基本級(jí)別的面試問(wèn)題熬丧。無(wú)論您是要參加Hadoop開(kāi)發(fā)人員還是Hadoop Admin面試,這些問(wèn)題都將對(duì)您有所幫助剧浸。
21.解釋Hadoop和RDBMS之間的區(qū)別锹引。
答:Hadoop和RDBMS之間的區(qū)別如下 :
22. Hadoop中常見(jiàn)的輸入格式是什么?
答:以下是Hadoop中常見(jiàn)的輸入格式 -
文本輸入格式 -?Hadoop中定義的默認(rèn)輸入格式是文本輸入格式唆香。
序列文件輸入格式 -要讀取序列中的文件嫌变,請(qǐng)使用序列文件輸入格式。
鍵值輸入格式 -用于純文本文件(分成行的文件)的輸入格式是鍵值輸入格式躬它。
23.解釋Hadoop的一些重要特性腾啥。
答:Hadoop支持大數(shù)據(jù)的存儲(chǔ)和處理。它是處理大數(shù)據(jù)挑戰(zhàn)的最佳解決方案。Hadoop的一些重要功能是 -
開(kāi)源 -?Hadoop是一個(gè)開(kāi)源框架倘待,這意味著它是免費(fèi)提供的疮跑。此外,允許用戶根據(jù)他們的要求更改源代碼凸舵。
分布式處理 -?Hadoop支持?jǐn)?shù)據(jù)的分布式處理祖娘,即更快的處理。Hadoop HDFS中的數(shù)據(jù)以分布式方式存儲(chǔ)啊奄,MapReduce負(fù)責(zé)數(shù)據(jù)的并行處理渐苏。
容錯(cuò)力 -?Hadoop具有高度容錯(cuò)能力。默認(rèn)情況下菇夸,它為不同節(jié)點(diǎn)的每個(gè)塊創(chuàng)建三個(gè)副本琼富。這個(gè)數(shù)字可以根據(jù)要求改變。因此庄新,如果一個(gè)節(jié)點(diǎn)發(fā)生故障鞠眉,我們可以從另一個(gè)節(jié)點(diǎn)恢復(fù)數(shù)據(jù)。節(jié)點(diǎn)故障的檢測(cè)和數(shù)據(jù)的恢復(fù)是自動(dòng)完成的择诈。
可靠性 -?Hadoop以獨(dú)立于計(jì)算機(jī)的可靠方式在群集上存儲(chǔ)數(shù)據(jù)械蹋。因此,存儲(chǔ)在Hadoop環(huán)境中的數(shù)據(jù)不受機(jī)器故障的影響吭从。
可伸縮性 -?Hadoop的另一個(gè)重要特性是可伸縮性朝蜘。它與其他硬件兼容,我們可以輕松地將新硬件分配給節(jié)點(diǎn)涩金。
高可用性 -即使在硬件故障后,也可以訪問(wèn)存儲(chǔ)在Hadoop中的數(shù)據(jù)暇仲。如果硬件發(fā)生故障步做,可以從另一個(gè)路徑訪問(wèn)數(shù)據(jù)。
24.解釋Hadoop運(yùn)行的不同模式奈附。
答:Apache Hadoop運(yùn)行在以下三種模式 -
獨(dú)立(本地)模式 -默認(rèn)情況下全度,Hadoop以本地模式運(yùn)行,即在非分布式單節(jié)點(diǎn)上運(yùn)行斥滤。此模式使用本地文件系統(tǒng)執(zhí)行輸入和輸出操作将鸵。此模式不支持使用HDFS,因此用于調(diào)試佑颇。在此模式下顶掉,配置文件不需要自定義配置。
偽分布式模式 -在偽分布式模式下挑胸,Hadoop就像獨(dú)立模式一樣在單個(gè)節(jié)點(diǎn)上運(yùn)行痒筒。在此模式下,每個(gè)守護(hù)程序都在單獨(dú)的Java進(jìn)程中運(yùn)行。由于所有守護(hù)進(jìn)程都在單個(gè)節(jié)點(diǎn)上運(yùn)行簿透,因此主節(jié)點(diǎn)和從節(jié)點(diǎn)都有相同的節(jié)點(diǎn)移袍。
完全分布式模式 -在完全分布式模式下,所有守護(hù)進(jìn)程都在不同的單個(gè)節(jié)點(diǎn)上運(yùn)行老充,從而形成一個(gè)多節(jié)點(diǎn)集群葡盗。主節(jié)點(diǎn)和從節(jié)點(diǎn)有不同的節(jié)點(diǎn)。
25.解釋Hadoop的核心組件啡浊。
答:Hadoop是一個(gè)開(kāi)源框架觅够,用于以分布式方式存儲(chǔ)和處理大數(shù)據(jù)。Hadoop的核心組件是 -
HDFS(Hadoop分布式文件系統(tǒng)) -?HDFS是Hadoop的基本存儲(chǔ)系統(tǒng)虫啥。在商用硬件集群上運(yùn)行的大型數(shù)據(jù)文件存儲(chǔ)在HDFS中蔚约。即使硬件出現(xiàn)故障,它也能以可靠的方式存儲(chǔ)數(shù)據(jù)涂籽。
Hadoop的核心組件
Hadoop MapReduce -?MapReduce是負(fù)責(zé)數(shù)據(jù)處理的Hadoop層苹祟。它編寫(xiě)了一個(gè)應(yīng)用程序來(lái)處理存儲(chǔ)在HDFS中的非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)。它負(fù)責(zé)通過(guò)將數(shù)據(jù)劃分為獨(dú)立任務(wù)來(lái)并行處理大量數(shù)據(jù)评雌。處理分兩個(gè)階段完成Map和Reduce树枫。Map是指定復(fù)雜邏輯代碼的第一個(gè)處理階段,Reduce是指定輕量級(jí)操作的第二階段處理景东。
YARN -?Hadoop中的處理框架是YARN砂轻。它用于資源管理并提供多種數(shù)據(jù)處理引擎,即數(shù)據(jù)科學(xué)斤吐,實(shí)時(shí)流和批處理搔涝。
26.“MapReduce”程序中的配置參數(shù)是什么?
答:“MapReduce”框架中的主要配置參數(shù)是:
在分布式文件系統(tǒng)中輸入Jobs的位置
在分布式文件系統(tǒng)中輸出Jobs的位置
數(shù)據(jù)的輸入格式
數(shù)據(jù)的輸出格式
包含map函數(shù)的類(lèi)
包含reduce函數(shù)的類(lèi)
包含mapper和措,reducer和驅(qū)動(dòng)程序類(lèi)的JAR文件
27. HDFS中的塊是什么庄呈?它在Hadoop 1和Hadoop 2中的默認(rèn)大小是多少?我們可以改變塊大小嗎派阱?
答:塊是硬盤(pán)中最小的連續(xù)數(shù)據(jù)存儲(chǔ)诬留。對(duì)于HDFS,塊存儲(chǔ)在Hadoop集群中贫母。
Hadoop 1中的默認(rèn)塊大小為:64 MB
Hadoop 2中的默認(rèn)塊大小為:128 MB
是的文兑,我們可以使用位于hdfs-site.xml文件中的參數(shù)--dfs.block.size?來(lái)更改塊大小。
28.什么是MapReduce框架中的分布式緩存
答:分布式緩存是Hadoop MapReduce框架的一項(xiàng)功能腺劣,用于緩存應(yīng)用程序的文件绿贞。Hadoop框架使緩存文件可用于在數(shù)據(jù)節(jié)點(diǎn)上運(yùn)行的每個(gè)map / reduce任務(wù)。因此誓酒,數(shù)據(jù)文件可以作為指定作業(yè)中的本地文件訪問(wèn)緩存文件樟蠕。
29. Hadoop的三種運(yùn)行模式是什么贮聂?
答:Hadoop的三種運(yùn)行模式如下:
Ⅰ、獨(dú)立或本地:這是默認(rèn)模式寨辩,不需要任何配置吓懈。在此模式下,Hadoop的以下所有組件都使用本地文件系統(tǒng)并在單個(gè)JVM上運(yùn)行 -
的NameNode
數(shù)據(jù)管理部
的ResourceManager
節(jié)點(diǎn)管理器
II靡狞、偽分布式:在此模式下耻警,所有主從Hadoop服務(wù)都在單個(gè)節(jié)點(diǎn)上部署和執(zhí)行。
III甸怕、完全分布式:在此模式下甘穿,Hadoop主服務(wù)器和從服務(wù)器在不同的節(jié)點(diǎn)上部署和執(zhí)行。
30.在Hadoop中解釋JobTracker
答:JobTracker是Hadoop中的JVM進(jìn)程梢杭,用于提交和跟蹤MapReduce作業(yè)温兼。
JobTracker按順序在Hadoop中執(zhí)行以下活動(dòng) :
JobTracker接收客戶端應(yīng)用程序提交給作業(yè)跟蹤器的作業(yè);
JobTracker通知NameNode確定數(shù)據(jù)節(jié)點(diǎn)武契;
JobTracker根據(jù)可用的插槽分配TaskTracker節(jié)點(diǎn)募判;
它提交了已分配的TaskTracker節(jié)點(diǎn)的工作;
JobTracker監(jiān)視TaskTracker節(jié)點(diǎn)咒唆;
當(dāng)任務(wù)失敗時(shí)届垫,會(huì)通知JobTracker并決定如何重新分配任務(wù)。
下期預(yù)告:干貨|50個(gè)大數(shù)據(jù)面試問(wèn)題及答案第四篇:Hadoop開(kāi)發(fā)人員面試新手的問(wèn)題