首頁(yè) >
熱門文章 >
大數(shù)據(jù)分析 > 大數(shù)據(jù)分析面試題庫(kù)—基本大數(shù)據(jù)Hadoop面試問(wèn)題
大數(shù)據(jù)分析面試題庫(kù)—基本大數(shù)據(jù)Hadoop面試問(wèn)題
時(shí)間:2019-12-27來(lái)源:m.lb577.com點(diǎn)擊量:次作者:Sissi
時(shí)間:2019-12-27點(diǎn)擊量:次作者:Sissi
之前我分享過(guò)《大數(shù)據(jù)分析面試題庫(kù)—基本的大數(shù)據(jù)分析面試問(wèn)題》、《大數(shù)據(jù)分析面試題庫(kù)-有經(jīng)驗(yàn)的大數(shù)據(jù)分析面試問(wèn)題》,《Hadoop在大數(shù)據(jù)分析中的意義和作用》、《大數(shù)據(jù)分析與Hadoop區(qū)別和聯(lián)系》,Hadoop是最受歡迎的大數(shù)據(jù)分析框架之一,如果您打算進(jìn)行Hadoop面試,請(qǐng)準(zhǔn)備好這些有關(guān)大數(shù)據(jù)分析Hadoop的基本面試問(wèn)題。無(wú)論您打算進(jìn)行Hadoop開(kāi)發(fā)人員還是Hadoop管理員面試,這些問(wèn)題都會(huì)對(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ǔ)和處理。它是應(yīng)對(duì)大數(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)情況下,它將為每個(gè)塊在不同節(jié)點(diǎn)上創(chuàng)建三個(gè)副本。該編號(hào)可以根據(jù)需要進(jìn)行更改。因此,如果一個(gè)節(jié)點(diǎn)發(fā)生故障,我們可以從另一節(jié)點(diǎn)恢復(fù)數(shù)據(jù)。節(jié)點(diǎn)故障的檢測(cè)和數(shù)據(jù)恢復(fù)是自動(dòng)完成的。
可靠性– Hadoop以可靠的方式將數(shù)據(jù)存儲(chǔ)在群集上,而與計(jì)算機(jī)無(wú)關(guān)。因此,存儲(chǔ)在Hadoop環(huán)境中的數(shù)據(jù)不受計(jì)算機(jī)故障的影響。
可伸縮性– Hadoop的另一個(gè)重要功能是可伸縮性。它與其他硬件兼容,我們可以輕松地將新硬件裝配到節(jié)點(diǎn)上。
高可用性–即使在硬件出現(xiàn)故障之后,也可以訪問(wèn)存儲(chǔ)在Hadoop中的數(shù)據(jù)。如果發(fā)生硬件故障,可以從其他路徑訪問(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ù)程序都在單個(gè)節(jié)點(diǎn)上運(yùn)行,因此主節(jié)點(diǎn)和從節(jié)點(diǎn)都存在相同的節(jié)點(diǎn)。
完全分布式模式–在完全分布式模式下,所有守護(hù)程序都在單獨(dú)的單個(gè)節(jié)點(diǎn)上運(yùn)行,因此形成了多節(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層。它編寫一個(gè)應(yīng)用程序來(lái)處理存儲(chǔ)在HDFS中的非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)。通過(guò)將數(shù)據(jù)劃分為獨(dú)立的任務(wù),它負(fù)責(zé)并行處理大量數(shù)據(jù)。該處理過(guò)程分為Map和Reduce兩個(gè)階段。映射是指定復(fù)雜邏輯代碼的處理的第一階段,而精簡(jiǎn)是指定輕量級(jí)操作的處理的第二階段。
YARN – Hadoop中的處理框架是YARN。它用于資源管理,并提供多個(gè)數(shù)據(jù)處理引擎,即數(shù)據(jù)科學(xué),實(shí)時(shí)流和批處理。
26.“ MapReduce”程序中的配置參數(shù)是什么?
“ MapReduce”框架中的主要配置參數(shù)為:
1)作業(yè)在分布式文件系統(tǒng)中的輸入位置
2)作業(yè)在分布式文件系統(tǒng)中的輸出位置
3)數(shù)據(jù)輸入格式
4)數(shù)據(jù)輸出格式
5)包含map函數(shù)的類
6)包含reduce函數(shù)的類
7)JAR文件,其中包含映射器,reducer和驅(qū)動(dòng)程序類
27. HDFS中的塊是什么,在Hadoop 1和Hadoop 2中其默認(rèn)大小是多少?我們可以更改塊大小嗎?
塊是硬盤中最小的連續(xù)數(shù)據(jù)存儲(chǔ)。對(duì)于HDFS,塊跨Hadoop群集存儲(chǔ)。
Hadoop 1中的默認(rèn)塊大小為:64 MB
Hadoop 2中的默認(rèn)塊大小為:128 MB
是的,我們可以使用hdfs-site.xml文件中的參數(shù)dfs.block.size 更改塊大小。
28.什么是MapReduce框架中的分布式緩存
分布式緩存是Hadoop MapReduce框架的一項(xiàng)功能,用于緩存應(yīng)用程序的文件。Hadoop框架使緩存文件可用于數(shù)據(jù)節(jié)點(diǎn)上運(yùn)行的每個(gè)映射/減少任務(wù)。因此,數(shù)據(jù)文件可以在指定作業(yè)中作為本地文件訪問(wèn)緩存文件。
29. Hadoop的三種運(yùn)行模式是什么?
Hadoop的三種運(yùn)行模式如下:
一世。獨(dú)立或本地:這是默認(rèn)模式,不需要任何配置。在這種模式下,Hadoop的以下所有組件均使用本地文件系統(tǒng),并在單個(gè)JVM上運(yùn)行:
1、名稱節(jié)點(diǎn)
2、數(shù)據(jù)節(jié)點(diǎn)
3、資源管理器
4、節(jié)點(diǎn)管理器
偽分布式:在這種模式下,所有主和從Hadoop服務(wù)都在單個(gè)節(jié)點(diǎn)上部署和執(zhí)行。
完全分布式:在這種模式下,Hadoop主服務(wù)和從服務(wù)在單獨(dú)的節(jié)點(diǎn)上部署和執(zhí)行。
30.在Hadoop中解釋JobTracker
JobTracker是Hadoop中的JVM流程,用于提交和跟蹤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)。
任務(wù)失敗時(shí),將通知JobTracker并決定如何重新分配任務(wù)。