選擇題
-
以下選項中,哪個程序負責HDFS數(shù)據(jù)存儲。 (B)
A、NameNode B、DataNode C、Secondary NameNode D、ResourceManager
-
下列哪項通常是集群的最主要的性能瓶頸? (C)
A、CPU B、 網(wǎng)絡(luò) C、磁盤 D、內(nèi)存
-
下面哪項是Hadoop的作者?(B)
A、Martin Fowler B、Doug cutting C、Mark Elliot Zuckerberg D、Kent Beck
-
HDFS默認備份數(shù)量?(D)
A、0 B、1 C、2 D、3
-
下列描述說法錯誤的是? (D)
A、SecureCRT是一款支持SSH的終端仿真程序,它能夠在Windows操作系統(tǒng)上遠程連接Linux服務器執(zhí)行操作。
B、Hadoop是一個用于處理大數(shù)據(jù)的分布式集群架構(gòu),支持在GNU/Linux系統(tǒng)以及Windows系統(tǒng)上進行安裝使用。
C、VMware Workstation是一款虛擬計算機的軟件,用戶可以在單一的桌面上同時操作不同的操作系統(tǒng)。
D、 SSH是一個軟件,專為遠程登錄會話和其他網(wǎng)絡(luò)服務提供安全性功能的軟件。
-
配置Hadoop集群時,下列哪個Hadoop配置文件需要進行修改?(多選) (AC)
A、hadoop-env.sh B、profile C、core-site.xml D、ifcfg-eth0
-
Hadoop2.x版本中的數(shù)據(jù)塊大小默認是多少? (B)
A、 64M B、 128M C、 256M D、 512M -
關(guān)于Secondary NameNode哪項是正確?(C)
A、它是 NameNode 的熱備
B、它對內(nèi)存沒有要求
C、它的目的是幫助 NameNode合并編輯日志,減少NameNode啟動時間
D、SecondaryNameNode 應與NameNode部署到一個節(jié)點
-
客戶端上傳文件的時候哪項是正確的?(多選)(BD)
A、數(shù)據(jù)經(jīng)過 NameNode 傳遞給 DataNode
B、客戶端端將文件切分為多個Block,依次上傳
C、客戶端只上傳數(shù)據(jù)到一臺 DataNode,然后由 NameNode 負責 Block 復制工作
D、客戶端發(fā)起文件上傳請求,通過RPC與NameNode建立通訊。
-
MapReduce適用于(D)
A、任意應用程序
B、任意可以在Windows Server 2008上的應用程序
C、可以串行處理的應用程序
D、可以并行處理的應用程序
-
下面關(guān)于MapReduce模型中Map函數(shù)與Reduce函數(shù)的描述正確的是(A)
A、一個Map函數(shù)就是對一部分原始數(shù)據(jù)進行指定的操作。
B、一個Map操作就是對每個Reduce所產(chǎn)生的一部分中間結(jié)果進行合并操作。
C、Map與Map之間不是相互獨立的。
D、Reducee與Reduce之間不是相互獨立的。
-
MapReduce自定義排序規(guī)則需要重寫下列那項方法(B)
A、readFields()
B、 compareTo()
C、 map()
D、reduce()
-
Zookeeper啟動時會最多監(jiān)聽幾個端口(B)
A、1
B、2
C、3
D、4
-
下列哪些操作可以設(shè)置一個監(jiān)聽器Watcher(D)
A、getData
B、getChildren
C、exists
D、setData
-
下列關(guān)于zookeeper描述正確的是:(A)
A、無論客戶端連接的是哪個Zookeeper服務器,其看到的服務端數(shù)據(jù)模型都是一致的
B、從同一個客戶端發(fā)起的事務請求,最終將會嚴格按照其發(fā)起順序被應用到zookeeper中
C、在一個5個節(jié)點組成的Zookeeper集群中,如果同時有3臺機器宕機,服務不受影響
D、如果客戶端連接到Zookeeper集群中的那臺機器突然宕機,客戶端會自動切換連接到集群其他機器
-
下列選項中那些是Hadoop2.x版本獨有的進程(C)
A、JobTracker
B、TaskTracker
C、NodeManager
D、NameNode
-
下列選項描述錯誤的是?(A)
A、Hadoop HA即集群中包含Secondary NameNode作為備份節(jié)點存在。
B、ResourceManager負責的是整個Yarn集群資源的監(jiān)控、分配和管理工作
C、NodeManager負責定時的向ResourceManager匯報所在節(jié)點的資源使用情況以及接收并處理來自ApplicationMaster的啟動停止容器(Container)的各種請求。
D、初次啟動Hadoop HA集群時,需要將格式化文件系統(tǒng)后的目錄拷貝至另外一臺NameNode節(jié)點上。
-
Hive是建立在(C)之上的一個數(shù)據(jù)倉庫
A、HDFS
B、MapReduce
C、Hadoop
D、HBase
-
Hive查詢語言和SQL的一個不同之處在于(C)操作
A、Group by
B、Join
C、Partition
D、Union
-
Hive最重視的性能是可測量性、延展性、(B)和對于輸入格式的寬松匹配性
A、較低恢復性
B、容錯性
C、快速查詢
D、可處理大量數(shù)據(jù)
-
以下選項中,哪種類型間的轉(zhuǎn)換是被Hive查詢語言所支持的(D)
A、Double—Number
B、BigInt—Double
C、Int—BigInt
D、String--Double
-
按粒度大小的順序,Hive數(shù)據(jù)被分為:數(shù)據(jù)庫、數(shù)據(jù)表、(C)、桶?
A、元祖
B、欄
C、分區(qū)
D、行
-
下面說法選項錯誤的是(多選)(AD)
A、在一個Agent中,同一個source可以有多個channel
B、在一個Agent中,同一個sink可以有多個channel
C、在一個Agent中,同一個source只能多1個channel
D、在一個Agent中,同一個sink只能有1個channel
-
下列選項參數(shù)是Sqoop指令的是?(多選) (AD)
A、import
B、output
C、input
D、export
-
下列語句描述錯誤的是(C)
A、可以通過CLI方式、Java API方式調(diào)用Sqoop
B、Sqoop底層會將Sqoop命令轉(zhuǎn)換為MapReduce任務,并通過Sqoop連接器進行數(shù)據(jù)的導入導出操作。
C、Sqoop是獨立的數(shù)據(jù)遷移工具,可以在任何系統(tǒng)上執(zhí)行。
D、如果在Hadoop分布式集群環(huán)境下,連接MySQL服務器參數(shù)不能是localhost或127.0.0.1。
判斷題
1、Cloudera CDH是需要付費使用的。(X)
2、JobTracker是HDFS重要角色。(X)
3、在Hadoop集群中,NameNode負責管理所有DataNode。(√ )
4、在Hadoop1.x版本中,MapReduce程序是運行在Yarn集群之上。(X)
5、Hadoop是由Java語言開發(fā)的。(√ )
6、Hadoop是Java語言開發(fā)的,因此在搭建Hadoop集群時,需要為集群安裝JDK環(huán)境變量。(√)
7、偽分布式模式下的Hadoop功能與完全分布式模式下的Hadoop功能相同。(√ )
8、啟動Hadoop集群服務之前需要格式化文件系統(tǒng)。(√ )
9、Hadoop存在多個副本,且默認備份數(shù)量是3。(√ )
10、配置Hadoop集群只需要修改core-site.xml配置文件就可以。(X)
11、Secondary NameNode是NameNode的備份,可以有效解決Hadoop集群單點故障問題。X
12、NameNode負責管理元數(shù)據(jù),客戶端每次讀寫請求時,都會從磁盤中讀取或?qū)懭朐獢?shù)據(jù)信息并反饋給客戶端。(√ )
13、NameNode本地磁盤保存了數(shù)據(jù)塊的位置信息。(X)
14、Map階段處理數(shù)據(jù)時,是按照Key的哈希值與ReduceTask數(shù)量取模進行分區(qū)的規(guī)則。(√ )
15、分區(qū)數(shù)量是ReduceTask的數(shù)量。(√ )
16、在MapReduce程序中,必須開發(fā)Map和Reduce相應的業(yè)務代碼才能執(zhí)行程序。(X)
17、Zookeeper對節(jié)點的Watch監(jiān)聽通知是永久性的。(X)
18、Zookeeper集群宕機數(shù)超過集群數(shù)一半,則Zookeeper服務失效。(√ )
19、Zookeeper可以作為文件存儲系統(tǒng),因此可以將大規(guī)模數(shù)據(jù)文件存在該系統(tǒng)中。(X)
20、ResourceManager負責監(jiān)控ApplicationMaster,并在ApplicationMaster運行失敗的時候重啟它,因此ResouceManager負責ApplicationMaster內(nèi)部任務的容錯。(X)
21、NodeManager是每個節(jié)點上的資源和任務管理器。(√ )
22、Hadoop HA是集群中啟動兩臺或兩臺以上機器充當NameNode,避免一臺NameNode節(jié)點發(fā)生故障導致整個集群不可用的情況。(√ )
23、Hadoop HA是兩臺NameNode同時執(zhí)行NameNode角色的工作。(X)
24、在Hadoop HA中,Zookeeper集群為每個NameNode都分配了一個故障恢復控制器,該控制器用于監(jiān)控NameNode的健康狀態(tài)。(√ )
25、Hive使用length()函數(shù)可以求出輸出的數(shù)量。(X)
26、再創(chuàng)建外部表的同時要加載數(shù)據(jù)文件,數(shù)據(jù)文件會移動到數(shù)據(jù)倉庫指定的目錄下。(X)
27、Hive是一款獨立的數(shù)據(jù)倉庫工具,因此在啟動前無需啟動任何服務。(X)
28、Hive默認不支持動態(tài)分區(qū)功能,需要手動設(shè)置動態(tài)分區(qū)參數(shù)開啟功能。(√ )
29、Hive分區(qū)字段不能與已存在字段重復,且分區(qū)字段是一個虛擬的字段,它不存放任何數(shù)據(jù),該數(shù)據(jù)來源于裝載分區(qū)表時所指定的數(shù)據(jù)文件。(√ )
30、Flume Agent是一個JVM進程,它承載著數(shù)據(jù)從外部源流向下一個目標的三個核心組件是Source、Channel和Sink。(√ )
31、Taildir Source用于觀察指定的文件,可以實時監(jiān)測到添加到每個文件的新行,如果文件正在寫入新行,則此采集器將重試采集它們以等待寫入完成。(√ )
32、Flume采集方案的名稱、位置、以及sources、channels、sinks參數(shù)配置信息可以隨定義。(X)
33、在整個數(shù)據(jù)傳輸?shù)倪^程中,F(xiàn)lume將流動的數(shù)據(jù)封裝到一個event(事件)中,它是Flume內(nèi)部數(shù)據(jù)傳輸?shù)幕締卧?。?√ )
34、Sqoop是關(guān)系型數(shù)據(jù)庫與Hadoop之間的數(shù)據(jù)橋梁,這個橋梁的重要組件是Sqoop連接器?!?/p>
35、Sqoop從Hive表導出MySQL表時,首先需要在MySQL中創(chuàng)建表結(jié)構(gòu)。(√ )
36、--target-dir參數(shù)是指定HDFS目標目錄地址,因此需要提前創(chuàng)建目標文件。(X)
填空題
1、大數(shù)據(jù)的4V特征包含____大量、多樣、高速、價值____
2、Hadoop三大組件包含___ HDFS、MapReduce、Yarn______。
3、Hadoop2.x版本中的HDFS是由____?NameNode、DataNode、Secondary NameNode___組成。
4、Hadoop發(fā)行版本分為____開源社區(qū)版、商業(yè)版______。
5、目前Apache Hadoop發(fā)布的版本主要有__?Hadoop1.x、Hadoop2.x、Hadoop3.x。
1、Hadoop集群部署方式分別是__?獨立模式、偽分布式模式、完全分布式模式
2、加載環(huán)境變量配置文件需要使用_?source /etc/profile_命令。
3、格式化HDFS集群命令是__?hadoop namenode -format___。
4、腳本一鍵啟動Hadoop集群服務命令是__start-all.sh_。
5、Hadoop默認開設(shè)HDFS文件系統(tǒng)端口號___50070____和監(jiān)控Yarn集群端口號___8088___。
1、 ___NameNode___用于維護文件系統(tǒng)名稱并管理客戶端對文件的訪問,DataNode____存儲真實的數(shù)據(jù)塊。
2、 NameNode與DataNode通過___心跳監(jiān)測____機制互相通信。
3、 NameNode以元數(shù)據(jù)形式維護著______fsimage、EditLog_文件。
1、在MapReduce中,Map______階段負責將任務分解,Reduce______階段將任務合并。
2、MapReduce工作流程分為分片、格式化數(shù)據(jù)源、執(zhí)行MapTask、執(zhí)行Shuffle過程、執(zhí)行ReduceTask、寫入文件
3、Partitioner組件目的是______將key均勻分布在ReduceTask上_____。
1、Zookeeper集群主要有Leader、Follower、Observer_____三種角色。
2、Znode有兩種節(jié)點,分別是__永久節(jié)點、臨時節(jié)點___。
3、Zookeeper引入Watch_____機制實現(xiàn)分布式的通知功能。
1、Yarn的核心組件包含___ResourceManager、NodeManager、ApplicationMaster_____。
2、ResourceManager內(nèi)部包含了兩個組件,分別是調(diào)度器(Scheduler)應用程序管理器(Application Manager)_。
1、數(shù)據(jù)倉庫是面向__主題的、集成的、非易失的____和時變的數(shù)據(jù)集合,用于支持管理決策。
2、Hive默認元數(shù)據(jù)存儲在?Derby數(shù)據(jù)庫_____數(shù)據(jù)庫中。
3、Hive建表時設(shè)置分割字符命令______row format delimited fields terminated by char____
4、Hive查詢語句select ceil(2.34)輸出內(nèi)容是___3___。
5、Hive創(chuàng)建桶表關(guān)鍵字_____clustered by,且Hive默認分桶數(shù)量是___-1____。
1、Flume分為兩個版本,分別是___Flume-og、Flume-ng___。
2、Flume的核心是把數(shù)據(jù)從數(shù)據(jù)源通過___數(shù)據(jù)采集器(Source)_收集過來,再將收集的數(shù)據(jù)通過___緩沖通道(Channel)匯集到指定的接收器(Sink)。
3、Flume采用三層架構(gòu),分別為_____agent,collector和storage_____,每一層均可以水平擴展。
4、Flume的負載均衡接收器處理器支持使用_____round_robin(輪詢)和random(隨機)機制進行流量分配,其默認選擇機制為round_robin__。
1、Sqoop主要用于在Hadoop、關(guān)系型數(shù)據(jù)庫_之間進行傳輸數(shù)據(jù)。
2、Sqoop底層利用___MapReduce___技術(shù)以___批處理___方式加快了數(shù)據(jù)傳輸速度,并且具有較好的容錯性功能。
3、從數(shù)據(jù)庫導入HDFS時,指定以制表符作為字段分隔符參數(shù)是________?--fields-terminated-by '\t'____。
簡答題
1、簡述大數(shù)據(jù)研究的意義。
略
2、簡述Hadoop版本區(qū)別。
Hadoop發(fā)行版本分為開源社區(qū)版和商業(yè)版,社區(qū)版是指由Apache軟件基金會維護的版本,是官方維護的版本體系。商業(yè)版Hadoop是指由第三方商業(yè)公司在社區(qū)版Hadoop基礎(chǔ)上進行了一些修改、整合以及各個服務組件兼容性測試而發(fā)行的版本,例如比較著名的有Cloudera公司的CDH版本。
1、簡述什么是SSH以及SSH協(xié)議解決的問題。
SSH為Secure Shell的縮寫,它是一種網(wǎng)絡(luò)安全協(xié)議,專為遠程登錄會話和其他網(wǎng)絡(luò)服務提供安全性的協(xié)議。通過使用SSH服務,可以把傳輸?shù)臄?shù)據(jù)進行加密,有效防止遠程管理過程中的信息泄露問題。
2、簡述Hadoop集群部署方式以及各方式使用場景。
(1)獨立模式:又稱為單機模式,在該模式下,無需運行任何守護進程,所有的程序都在單個JVM上執(zhí)行。獨立模式下調(diào)試Hadoop集群的MapReduce程序非常方便,所以一般情況下,該模式在學習或者開發(fā)階段調(diào)試使用。
(2)偽分布式模式:Hadoop程序的守護進程運行在一臺節(jié)點上,通常使用偽分布式模式用來調(diào)試Hadoop分布式程序的代碼,以及程序執(zhí)行是否正確,偽分布式模式是完全分布式模式的一個特例。
(3)完全分布式模式:Hadoop的守護進程分別運行在由多個主機搭建的集群上,不同節(jié)點擔任不同的角色,在實際工作應用開發(fā)中,通常使用該模式構(gòu)建企業(yè)級Hadoop系統(tǒng)。
1、簡述HDFS上傳文件工作流程
詳情答案見3.2.2小節(jié)。
2、簡述NameNode管理分布式文件系統(tǒng)的命名空間。
在NameNode內(nèi)部是以元數(shù)據(jù)的形式,維護著兩個文件,分別是FsImage鏡像文件和EditLog日志文件。其中,F(xiàn)sImage鏡像文件用于存儲整個文件系統(tǒng)命名空間的信息,EditLog日志文件用于持久化記錄文件系統(tǒng)元數(shù)據(jù)發(fā)生的變化。當NameNode啟動的時候,F(xiàn)sImage鏡像文件就會被加載到內(nèi)存中,然后對內(nèi)存里的數(shù)據(jù)執(zhí)行記錄的操作,以確保內(nèi)存所保留的數(shù)據(jù)處于最新的狀態(tài),這樣就加快了元數(shù)據(jù)的讀取和更新操作。
1、簡述HDFS Block與MapReduce split之間的聯(lián)系。
Block:HDFS中最小的數(shù)據(jù)存儲單位,默認是128M;Split:MapReduce中最小的計算單元,默認與Block一一對應。
兩者的對應關(guān)系是任意的,可有用戶控制。
2、簡述Shuffle工作流程。
詳情答案見4.2.4小節(jié)
1、簡述Watch機制的特點。
一次性觸發(fā)、事件封裝、異步發(fā)送、先注冊再觸發(fā)
2、簡述Zookeeper集群選舉機制。
詳情答案見5.4.2小節(jié)
1、簡述Yarn集群的工作流程。
參考答案見6.2.2小節(jié)
2、簡述Hadoop HA集群的啟動步驟
(1)啟動集群各個節(jié)點的Zookeeper服務;
(2)啟動集群各個節(jié)點監(jiān)控NameNode的管理日志的JournalNode;
(3)在node-01節(jié)點格式化NameNode,并將格式化后的目錄拷貝到node-02中;
(4)在node-01節(jié)點上格式化ZKFC;
(5)在node-01節(jié)點上啟動HDFS;
(6)在node-01節(jié)點上啟動YARN。
1、簡述Hive的特點是什么。
Hive是基于Hadoop的一個數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供完整的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為MapReduce任務進行運行。其優(yōu)點是學習成本低,可以通過類SQL語句快速實現(xiàn)簡單的MapReduce統(tǒng)計,不必開發(fā)專門的MapReduce應用,十分適合數(shù)據(jù)倉庫的統(tǒng)計分析。
2、簡述Hive中內(nèi)部表與外部表區(qū)別。
創(chuàng)建表階段:
外部表創(chuàng)建表的時候,不會移動數(shù)到數(shù)據(jù)倉庫目錄中(/user/hive/warehouse),只會記錄表數(shù)據(jù)存放的路徑,內(nèi)部表會把數(shù)據(jù)復制或剪切到表的目錄下。
刪除表階段:
外部表在刪除表的時候只會刪除表的元數(shù)據(jù)信息不會刪除表數(shù)據(jù),內(nèi)部表刪除時會將元數(shù)據(jù)信息和表數(shù)據(jù)同時刪除
1、簡述Flume工作原理。
參考答案見8.1.2小節(jié)
1、簡述Sqoop導入與導出數(shù)據(jù)工作原理。
參考答案:
在導入數(shù)據(jù)之前,Sqoop使用JDBC檢查導入的數(shù)據(jù)表,檢索出表中的所有列以及列的SQL數(shù)據(jù)類型,并將這些SQL類型映射為Java數(shù)據(jù)類型,在轉(zhuǎn)換后的MapReduce應用中使用這些對應的Java類型來保存字段的值,Sqoop的代碼生成器使用這些信息來創(chuàng)建對應表的類,用于保存從表中抽取的記錄。
在導出數(shù)據(jù)之前,Sqoop會根據(jù)數(shù)據(jù)庫連接字符串來選擇一個導出方法,對于大部分系統(tǒng)來說,Sqoop會選擇JDBC。Sqoop會根據(jù)目標表的定義生成一個Java類,這個生成的類能夠從文本中解析出記錄數(shù)據(jù),并能夠向表中插入類型合適的值,然后啟動一個MapReduce作業(yè),從HDFS中讀取源數(shù)據(jù)文件,使用生成的類解析出記錄,并且執(zhí)行選定的導出方法。
編程題
1、通過Java API實現(xiàn)上傳文件至HDFS中。
詳情答案見3.4.2小節(jié)
1、 現(xiàn)有數(shù)據(jù)文本文件number.txt,內(nèi)容如下所示,請將該文本文件內(nèi)容重復的數(shù)據(jù)刪除。
118569
118569
335816
123456
963807
963807
118555
118569
代碼參考4.4.2小節(jié)
2、現(xiàn)有一組數(shù)據(jù),內(nèi)容如下所示,請利用MapReduce將下列數(shù)據(jù)求出最大10個數(shù),并倒序輸出。
10 3 8 7 6 5 1 2 9 4
11 12 17 14 15 20
19 18 13 16
代碼參考4.8小節(jié)
1、 利用Java API調(diào)用Zookeeper,實現(xiàn)創(chuàng)建節(jié)點、獲取節(jié)點、修改節(jié)點、判斷節(jié)點是否存在以及刪除節(jié)點。
代碼參考5.7.2小節(jié)
1、創(chuàng)建字段為id、name的用戶表,并且以性別gender為分區(qū)字段的分區(qū)表。
參考答案:
create table t_user (id int, name string)
partitioned by (gender string)
row format delimited fields terminated by ',';
1、利用Sqoop將test數(shù)據(jù)庫中的user表中id>5的用戶導入到HDFS中的/user目錄(user表字段:id,name)。
$ sqoop import \
--connect jdbc:mysql://hadoop01:3306/test \
--username root \
--password 123456 \
--target-dir /user \
--query 'SELECT id,name FROM user WHERE id>5 \
--num-mappers 1
2、利用Sqoop將test數(shù)據(jù)庫中的emp表導入Hive表hive.emp_test表中。文章來源:http://www.zghlxwxcb.cn/news/detail-544179.html
$ sqoop import \
--connect jdbc:mysql://hadoop01:3306/test \
--username root \
--password 123456 \
--table emp \
--hive-table hive_emp_test \
--create-hive-table \
--hive-import \
--num-mappers 1
?文章來源地址http://www.zghlxwxcb.cn/news/detail-544179.html
到了這里,關(guān)于Hadoop大數(shù)據(jù)技術(shù)原理與應用課后習題答案匯總的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!