真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hadoop面試題和答案有哪些-創(chuàng)新互聯(lián)

本篇內(nèi)容介紹了“Hadoop面試題和答案有哪些”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到鉛山網(wǎng)站設(shè)計(jì)與鉛山網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鉛山地區(qū)。

       一、什么是Hadoop?

  Hadoop是一個(gè)開源軟件框架,用于存儲(chǔ)大量數(shù)據(jù),并發(fā)處理/查詢?cè)诰哂卸鄠€(gè)商用硬件(即低成本硬件)節(jié)點(diǎn)的集群上的那些數(shù)據(jù)。總之,Hadoop包括以下內(nèi)容:

  HDFS(Hadoop Distributed File System,Hadoop分布式文件系統(tǒng)):HDFS允許你以一種分布式和冗余的方式存儲(chǔ)大量數(shù)據(jù)。例如,1 GB(即1024 MB)文本文件可以拆分為16 * 128MB文件,并存儲(chǔ)在Hadoop集群中的8個(gè)不同節(jié)點(diǎn)上。每個(gè)分裂可以復(fù)制3次,以實(shí)現(xiàn)容錯(cuò),以便如果1個(gè)節(jié)點(diǎn)故障的話,也有備份。HDFS適用于順序的“一次寫入、多次讀取”的類型訪問(wèn)。

  MapReduce:一個(gè)計(jì)算框架。它以分布式和并行的方式處理大量的數(shù)據(jù)。當(dāng)你對(duì)所有年齡> 18的用戶在上述1 GB文件上執(zhí)行查詢時(shí),將會(huì)有“8個(gè)映射”函數(shù)并行運(yùn)行,以在其128 MB拆分文件中提取年齡> 18的用戶,然后“reduce”函數(shù)將運(yùn)行以將所有單獨(dú)的輸出組合成單個(gè)最終結(jié)果。

  YARN(Yet Another Resource Nagotiator,又一資源定位器):用于作業(yè)調(diào)度和集群資源管理的框架。

  Hadoop生態(tài)系統(tǒng),擁有15多種框架和工具,如Sqoop,F(xiàn)lume,Kafka,Pig,Hive,Spark,Impala等,以便將數(shù)據(jù)攝入HDFS,在HDFS中轉(zhuǎn)移數(shù)據(jù)(即變換,豐富,聚合等),并查詢來(lái)自HDFS的數(shù)據(jù)用于商業(yè)智能和分析。

  某些工具(如Pig和Hive)是MapReduce上的抽象層,而Spark和Impala等其他工具則是來(lái)自MapReduce的改進(jìn)架構(gòu)/設(shè)計(jì),用于顯著提高的延遲以支持近實(shí)時(shí)(即NRT)和實(shí)時(shí)處理。

 二、基于Hadoop的數(shù)據(jù)中心的好處是什么?

  隨著數(shù)據(jù)量和復(fù)雜性的增加,提高了整體SLA(即服務(wù)水平協(xié)議)。例如,“Shared Nothing”架構(gòu),并行處理,內(nèi)存密集型處理框架,如Spark和Impala,以及YARN容量調(diào)度程序中的資源搶占。

  1、縮放數(shù)據(jù)倉(cāng)庫(kù)可能會(huì)很昂貴:添加額外的高端硬件容量以及獲取數(shù)據(jù)倉(cāng)庫(kù)工具的許可證可能會(huì)顯著增加成本?;贖adoop的解決方案不僅在商品硬件節(jié)點(diǎn)和開源工具方面更便宜,而且還可以通過(guò)將數(shù)據(jù)轉(zhuǎn)換卸載到Hadoop工具(如Spark和Impala)來(lái)補(bǔ)足數(shù)據(jù)倉(cāng)庫(kù)解決方案,從而更高效地并行處理大數(shù)據(jù)。這也將釋放數(shù)據(jù)倉(cāng)庫(kù)資源。

  2、探索新的渠道和線索:Hadoop可以為數(shù)據(jù)科學(xué)家提供探索性的沙盒,以從社交媒體,日志文件,電子郵件等地方發(fā)現(xiàn)潛在的有價(jià)值的數(shù)據(jù),這些數(shù)據(jù)通常在數(shù)據(jù)倉(cāng)庫(kù)中不可得。

  3、更好的靈活性:通常業(yè)務(wù)需求的改變,也需要對(duì)架構(gòu)和報(bào)告進(jìn)行更改?;贖adoop的解決方案不僅可以靈活地處理不斷發(fā)展的模式,還可以處理來(lái)自不同來(lái)源,如社交媒體,應(yīng)用程序日志文件,image,PDF和文檔文件的半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。

  四、簡(jiǎn)單描述如何安裝配置一個(gè)apache開源版hadoop,只描述即可,無(wú)需列出完整步驟,能列出步驟更好。

  1、安裝JDK并配置環(huán)境變量(/etc/profile);

  2、關(guān)閉防火墻;

  3、配置hosts文件,方便hadoop通過(guò)主機(jī)名訪問(wèn)(/etc/hosts);

  4、設(shè)置ssh免密碼登錄;

  5、解壓縮hadoop安裝包,并配置環(huán)境變量;

  6、修改配置文件($HADOOP_HOME/conf);hadoop-env.sh core-site.xml hdfs-site.xml mapred-site.xml;

  7、格式化hdfs文件系統(tǒng)(hadoop namenode -format);

  8、啟動(dòng)hadoop($HADOOP_HOME/bin/start-all.sh);

  9、使用jps查看進(jìn)程。

  五、請(qǐng)列出正常工作的hadoop集群中hadoop都分別需要啟動(dòng)那些進(jìn)程,他們的作用分別是什么,盡可能寫的全面些。

  1、NameNode: HDFS的守護(hù)進(jìn)程,負(fù)責(zé)記錄文件是如何分割成數(shù)據(jù)塊,以及這些數(shù)據(jù)塊分別被存儲(chǔ)到那些數(shù)據(jù)節(jié)點(diǎn)上,它的主要功能是對(duì)內(nèi)存及IO進(jìn)行集中管理。

  2、Secondary NameNode:輔助后臺(tái)程序,與NameNode進(jìn)行通信,以便定期保存HDFS元數(shù)據(jù)的快照。

  3、DataNode:負(fù)責(zé)把HDFS數(shù)據(jù)塊讀寫到本地的文件系統(tǒng)。

  4、JobTracker:負(fù)責(zé)分配task,并監(jiān)控所有運(yùn)行的task。

  5、TaskTracker:負(fù)責(zé)執(zhí)行具體的task,并與JobTracker進(jìn)行交互。

  六、請(qǐng)列出你所知道的hadoop調(diào)度器,并簡(jiǎn)要說(shuō)明其工作方法

  比較流行的三種調(diào)度器有:默認(rèn)調(diào)度器FIFO,計(jì)算能力調(diào)度器Capacity Scheduler,公平調(diào)度器Fair Scheduler

  1、默認(rèn)調(diào)度器FIFO:hadoop中默認(rèn)的調(diào)度器,采用先進(jìn)先出的原則。

  2、計(jì)算能力調(diào)度器Capacity Scheduler:選擇占用資源小,優(yōu)先級(jí)高的先執(zhí)行。

  3、公平調(diào)度器Fair Scheduler:同一隊(duì)列中的作業(yè)公平共享隊(duì)列中所有資源。

  七、Hive有那些方式保存元數(shù)據(jù)的,各有那些特點(diǎn)。

  1、內(nèi)存數(shù)據(jù)庫(kù)derby,較小,不常用;

  2、本地mysql,較常用;

  3、遠(yuǎn)程mysql,不常用。

  八、簡(jiǎn)述hadoop實(shí)現(xiàn)Join的幾種方法。

  1、reduce side join

  reduce side join是一種最簡(jiǎn)單的join方式,其主要思想如下:

  在map階段,map函數(shù)同時(shí)讀取兩個(gè)文件File1和File2,為了區(qū)分兩種來(lái)源的key/value數(shù)據(jù)對(duì),對(duì)每條數(shù)據(jù)打一個(gè)標(biāo)簽(tag),比如:tag=0表示來(lái)自文件File1,tag=2表示來(lái)自文件File2。即:map階段的主要任務(wù)是對(duì)不同文件中的數(shù)據(jù)打標(biāo)簽。

  在reduce階段,reduce函數(shù)獲取key相同的來(lái)自File1和File2文件的value list, 然后對(duì)于同一個(gè)key,對(duì)File1和File2中的數(shù)據(jù)進(jìn)行join(笛卡爾乘積)。即:reduce階段進(jìn)行實(shí)際的連接操作。

  2、map side join

  之所以存在reduce side join,是因?yàn)樵趍ap階段不能獲取所有需要的join字段,即:同一個(gè)key對(duì)應(yīng)的字段可能位于不同map中。Reduce side join是非常低效的,因?yàn)閟huffle階段要進(jìn)行大量的數(shù)據(jù)傳輸。

  Map side join是針對(duì)以下場(chǎng)景進(jìn)行的優(yōu)化:兩個(gè)待連接表中,有一個(gè)表非常大,而另一個(gè)表非常小,以至于小表可以直接存放到內(nèi)存中。這樣,我們可以將小表復(fù)制多份,讓每個(gè)map task內(nèi)存中存在一份(比如存放到hash table中),然后只掃描大表:對(duì)于大表中的每一條記錄key/value,在hash table中查找是否有相同的key的記錄,如果有,則連接后輸出即可。

  為了支持文件的復(fù)制,Hadoop提供了一個(gè)類DistributedCache,使用該類的方法如下:

  (1)用戶使用靜態(tài)方法

  DistributedCache.addCacheFile()指定要復(fù)制的文件,它的參數(shù)是文件的URI(如果是HDFS上的文件,可以這樣:hdfs://namenode:9000/home/XXX/file,其中9000是自己配置的NameNode端口號(hào))。

  JobTracker在作業(yè)啟動(dòng)之前會(huì)獲取這個(gè)URI列表,并將相應(yīng)的文件拷貝到各個(gè)TaskTracker的本地磁盤上。

  (2)用戶使用

  DistributedCache.getLocalCacheFiles()方法獲取文件目錄,并使用標(biāo)準(zhǔn)的文件讀寫API讀取相應(yīng)的文件。

  3、SemiJoin

  SemiJoin,也叫半連接,是從分布式數(shù)據(jù)庫(kù)中借鑒過(guò)來(lái)的方法。它的產(chǎn)生動(dòng)機(jī)是:對(duì)于reduce side join,跨機(jī)器的數(shù)據(jù)傳輸量非常大,這成了join操作的一個(gè)瓶頸,如果能夠在map端過(guò)濾掉不會(huì)參加join操作的數(shù)據(jù),則可以大大節(jié)省網(wǎng)絡(luò)IO。

  實(shí)現(xiàn)方法很簡(jiǎn)單:選取一個(gè)小表,假設(shè)是File1,將其參與join的key抽取出來(lái),保存到文件File3中,F(xiàn)ile3文件一般很小,可以放到內(nèi)存中。在map階段,使用DistributedCache將File3復(fù)制到各個(gè)TaskTracker上,然后將File2中不在File3中的key對(duì)應(yīng)的記錄過(guò)濾掉,剩下的reduce階段的工作與reduce side join相同。

  4、reduce side join + BloomFilter

  在某些情況下,SemiJoin抽取出來(lái)的小表的key集合在內(nèi)存中仍然存放不下,這時(shí)候可以使用BloomFiler以節(jié)省空間。

  BloomFilter最常見(jiàn)的作用是:判斷某個(gè)元素是否在一個(gè)集合里面。它最重要的兩個(gè)方法是:add() 和contains()。大的特點(diǎn)是不會(huì)存在false negative,即:如果contains()返回false,則該元素一定不在集合中,但會(huì)存在一定的true negative,即:如果contains()返回true,則該元素可能在集合中。

  因而可將小表中的key保存到BloomFilter中,在map階段過(guò)濾大表,可能有一些不在小表中的記錄沒(méi)有過(guò)濾掉(但是在小表中的記錄一定不會(huì)過(guò)濾掉),這沒(méi)關(guān)系,只不過(guò)增加了少量的網(wǎng)絡(luò)IO而已。

“Hadoop面試題和答案有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)站標(biāo)題:Hadoop面試題和答案有哪些-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://weahome.cn/article/gpdjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部