欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Hadoop大數(shù)據(jù)面試題有哪些

這篇文章將為大家詳細講解有關(guān)Hadoop大數(shù)據(jù)面試題有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、虛擬主機、營銷軟件、網(wǎng)站建設(shè)、鎮(zhèn)沅網(wǎng)站維護、網(wǎng)站推廣。

1.0 簡要描述如何安裝配置apache的一個開源hadoop,只描述即可,無需列出具體步驟,列出具體步驟更好。

1使用root賬戶登錄

2 修改IP

3 修改host主機名

4 配置SSH免密碼登錄

5 關(guān)閉防火墻

6 安裝JDK

6 解壓hadoop安裝包

7 配置hadoop的核心文件 hadoop-env.sh,core-site.xml , mapred-site.xml , hdfs-site.xml

8 配置hadoop環(huán)境變量

9 格式化 hadoop namenode-format

10 啟動節(jié)點start-all.sh

 2.0 請列出正常的hadoop集群中hadoop都分別需要啟動 哪些進程,他們的作用分別都是什么,請盡量列的詳細一些。

答:namenode:負責管理hdfs中文件塊的元數(shù)據(jù),響應客戶端請求,管理datanode上文件block的均衡,維持副本數(shù)量

Secondname:主要負責做checkpoint操作;也可以做冷備,對一定范圍內(nèi)數(shù)據(jù)做快照性備份。

Datanode:存儲數(shù)據(jù)塊,負責客戶端對數(shù)據(jù)塊的io請求

Jobtracker :管理任務(wù),并將任務(wù)分配給 tasktracker。

Tasktracker: 執(zhí)行JobTracker分配的任務(wù)。

Resourcemanager

Nodemanager

Journalnode

Zookeeper

Zkfc

 3.0請寫出以下的shell命令

(1)殺死一個job

(2)刪除hdfs上的 /tmp/aaa目錄

(3)加入一個新的存儲節(jié)點和刪除一個節(jié)點需要執(zhí)行的命令

答:(1)hadoop job –list 得到j(luò)ob的id,然后執(zhí) 行 hadoop job -kill jobId就可以殺死一個指定jobId的job工作了。

(2)hadoopfs -rmr /tmp/aaa

(3) 增加一個新的節(jié)點在新的幾點上執(zhí)行

Hadoop daemon.sh start datanode

Hadooop daemon.sh start tasktracker/nodemanager

下線時,要在conf目錄下的excludes文件中列出要下線的datanode機器主機名

然后在主節(jié)點中執(zhí)行 hadoop dfsadmin -refreshnodes à下線一個datanode

刪除一個節(jié)點的時候,只需要在主節(jié)點執(zhí)行

hadoop mradmin -refreshnodes ---à下線一個tasktracker/nodemanager

4.0 請列出你所知道的hadoop調(diào)度器,并簡要說明其工作方法

答:Fifo schedular :默認,先進先出的原則

Capacity schedular :計算能力調(diào)度器,選擇占用最小、優(yōu)先級高的先執(zhí)行,依此類推。

Fair schedular:公平調(diào)度,所有的 job 具有相同的資源。

 5.0 請列出你在工作中使用過的開發(fā)mapreduce的語言

答:java,hive,(python,c++)hadoop streaming

6.0 當前日志采樣格式為

a , b , c , d

b , b , f , e

a , a , c , f

請你用最熟悉的語言編寫mapreduce,計算第四列每個元素出現(xiàn)的個數(shù)

答:

public classWordCount1 {

public static final String INPUT_PATH ="hdfs://hadoop0:9000/in";

public static final String OUT_PATH ="hdfs://hadoop0:9000/out";

public static void main(String[] args)throws Exception {

Configuration conf = newConfiguration();

FileSystem fileSystem =FileSystem.get(conf);

if(fileSystem.exists(newPath(OUT_PATH))){}

fileSystem.delete(newPath(OUT_PATH),true);

Job job = newJob(conf,WordCount1.class.getSimpleName());

//1.0讀取文件,解析成key,value對

FileInputFormat.setInputPaths(job,newPath(INPUT_PATH));

//2.0寫上自己的邏輯,對輸入的可以,value進行處理,轉(zhuǎn)換成新的key,value對進行輸出

job.setMapperClass(MyMapper.class);

job.setMapOutputKeyClass(Text.class);

job.setMapOutputValueClass(LongWritable.class);

//3.0對輸出后的數(shù)據(jù)進行分區(qū)

//4.0對分區(qū)后的數(shù)據(jù)進行排序,分組,相同key的value放到一個集合中

//5.0對分組后的數(shù)據(jù)進行規(guī)約

//6.0對通過網(wǎng)絡(luò)將map輸出的數(shù)據(jù)拷貝到reduce節(jié)點

//7.0 寫上自己的reduce函數(shù)邏輯,對map輸出的數(shù)據(jù)進行處理

job.setReducerClass(MyReducer.class);

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(LongWritable.class);

FileOutputFormat.setOutputPath(job,new Path(OUT_PATH));

job.waitForCompletion(true);

}

static class MyMapper extendsMapper{

@Override

protected void map(LongWritablek1, Text v1,

org.apache.hadoop.mapreduce.Mapper.Contextcontext)

throws IOException,InterruptedException {

String[] split =v1.toString().split("\t");

for(String words :split){

context.write(split[3],1);

         }

    }

}

static class MyReducer extends Reducer{

protected void reduce(Text k2,Iterable v2,

org.apache.hadoop.mapreduce.Reducer.Contextcontext)

throws IOException,InterruptedException {

Long count = 0L;

for(LongWritable time :v2){

count += time.get();

}

context.write(v2, newLongWritable(count));

        }

   }

}

7.0 你認為用java , streaming , pipe方式開發(fā)map/reduce , 各有哪些優(yōu)點

就用過 java 和 hiveQL。

Java 寫 mapreduce 可以實現(xiàn)復雜的邏輯,如果需求簡單,則顯得繁瑣。

HiveQL 基本都是針對 hive 中的表數(shù)據(jù)進行編寫,但對復雜的邏輯(雜)很難進行實現(xiàn)。寫起來簡單。

8.0 hive有哪些方式保存元數(shù)據(jù),各有哪些優(yōu)點

三種:自帶內(nèi)嵌數(shù)據(jù)庫derby,挺小,不常用,只能用于單節(jié)點

MySQL常用

上網(wǎng)上找了下專業(yè)名稱:single user mode..multiuser mode...remote user mode

9.0 請簡述hadoop怎樣實現(xiàn)二級排序(就是對key和value雙排序)

第一種方法是,Reducer將給定key的所有值都緩存起來,然后對它們再做一個Reducer內(nèi)排序。但是,由于Reducer需要保存給定key的所有值,可能會導致出現(xiàn)內(nèi)存耗盡的錯誤。

第二種方法是,將值的一部分或整個值加入原始key,生成一個組合key。這兩種方法各有優(yōu)勢,第一種方法編寫簡單,但并發(fā)度小,數(shù)據(jù)量大的情況下速度慢(有內(nèi)存耗盡的危險),

第二種方法則是將排序的任務(wù)交給MapReduce框架shuffle,更符合Hadoop/Reduce的設(shè)計思想。這篇文章里選擇的是第二種。我們將編寫一個Partitioner,確保擁有相同key(原始key,不包括添加的部分)的所有數(shù)據(jù)被發(fā)往同一個Reducer,還將編寫一個Comparator,以便數(shù)據(jù)到達Reducer后即按原始key分組。

  10.簡述hadoop實現(xiàn)jion的幾種方法

Map side join----大小表join的場景,可以借助distributed cache

Reduce side join

  11.0 請用java實現(xiàn)非遞歸二分查詢

  12.0 請簡述mapreduce中的combine和partition的作用

答:combiner是發(fā)生在map的最后一個階段,其原理也是一個小型的reducer,主要作用是減少輸出到reduce的數(shù)據(jù)量,緩解網(wǎng)絡(luò)傳輸瓶頸,提高reducer的執(zhí)行效率。

partition的主要作用將map階段產(chǎn)生的所有kv對分配給不同的reducer task處理,可以將reduce階段的處理負載進行分攤

  13.0 hive內(nèi)部表和外部表的區(qū)別

Hive 向內(nèi)部表導入數(shù)據(jù)時,會將數(shù)據(jù)移動到數(shù)據(jù)倉庫指向的路徑;若是外部表,數(shù)據(jù)的具體存放目錄由用戶建表時指定

在刪除表的時候,內(nèi)部表的元數(shù)據(jù)和數(shù)據(jù)會被一起刪除,

而外部表只刪除元數(shù)據(jù),不刪除數(shù)據(jù)。

這樣外部表相對來說更加安全些,數(shù)據(jù)組織也更加靈活,方便共享源數(shù)據(jù)。

14. Hbase的rowKey怎么創(chuàng)建比較好?列簇怎么創(chuàng)建比較好?

答:

rowKey最好要創(chuàng)建有規(guī)則的rowKey,即最好是有序的。

經(jīng)常需要批量讀取的數(shù)據(jù)應該讓他們的rowkey連續(xù);

將經(jīng)常需要作為條件查詢的關(guān)鍵詞組織到rowkey中;

列族的創(chuàng)建:

按照業(yè)務(wù)特點,把數(shù)據(jù)歸類,不同類別的放在不同列族

15. 用mapreduce怎么處理數(shù)據(jù)傾斜問題

本質(zhì):讓各分區(qū)的數(shù)據(jù)分布均勻

可以根據(jù)業(yè)務(wù)特點,設(shè)置合適的partition策略

如果事先根本不知道數(shù)據(jù)的分布規(guī)律,利用隨機抽樣器抽樣后生成partition策略再處理

  16. hadoop框架怎么來優(yōu)化

可以從很多方面來進行:比如hdfs怎么優(yōu)化,mapreduce程序怎么優(yōu)化,yarn的job調(diào)度怎么優(yōu)化,hbase優(yōu)化,hive優(yōu)化。。。。。。。

  17. hbase內(nèi)部機制是什么

Hbase是一個能適應聯(lián)機業(yè)務(wù)的數(shù)據(jù)庫系統(tǒng)

物理存儲:hbase的持久化數(shù)據(jù)是存放在hdfs上

存儲管理:一個表是劃分為很多region的,這些region分布式地存放在很多regionserver上

Region內(nèi)部還可以劃分為store,store內(nèi)部有memstore和storefile

版本管理:hbase中的數(shù)據(jù)更新本質(zhì)上是不斷追加新的版本,通過compact操作來做版本間的文件合并

Region的split

集群管理:zookeeper + hmaster(職責) + hregionserver(職責)

 18. 我們在開發(fā)分布式計算job的時候,是否可以去掉reduce階段

答:可以,例如我們的集群就是為了存儲文件而設(shè)計的,不涉及到數(shù)據(jù)的計算,就可以將mapReduce都省掉。

比如,流量運營項目中的行為軌跡增強功能部分

怎么樣才能實現(xiàn)去掉reduce階段

去掉之后就不排序了,不進行shuffle操作了

 19 hadoop中常用的數(shù)據(jù)壓縮算法

Lzo

Gzip

Default

Snapyy

如果要對數(shù)據(jù)進行壓縮,最好是將原始數(shù)據(jù)轉(zhuǎn)為SequenceFile 或者 Parquet File(spark)

 20. mapreduce的調(diào)度模式(題意模糊,可以理解為yarn的調(diào)度模式,也可以理解為mr的內(nèi)部工作流程)

答: appmaster作為調(diào)度主管,管理maptask和reducetask

Appmaster負責啟動、監(jiān)控maptask和reducetask

Maptask處理完成之后,appmaster會監(jiān)控到,然后將其輸出結(jié)果通知給reducetask,然后reducetask從map端拉取文件,然后處理;

當reduce階段全部完成之后,appmaster還要向resourcemanager注銷自己

21. hive底層與數(shù)據(jù)庫交互原理

Hive的查詢功能是由hdfs + mapreduce結(jié)合起來實現(xiàn)的

Hive與mysql的關(guān)系:只是借用mysql來存儲hive中的表的元數(shù)據(jù)信息,稱為metastore

 22. hbase過濾器實現(xiàn)原則

可以說一下過濾器的父類(比較過濾器,專用過濾器)

過濾器有什么用途:

增強hbase查詢數(shù)據(jù)的功能

減少服務(wù)端返回給客戶端的數(shù)據(jù)量

23. reduce之后數(shù)據(jù)的輸出量有多大(結(jié)合具體場景,比如pi)

Sca階段的增強日志(1.5T---2T)

過濾性質(zhì)的mr程序,輸出比輸入少

解析性質(zhì)的mr程序,輸出比輸入多(找共同朋友)

24. 現(xiàn)場出問題測試mapreduce掌握情況和hive的ql語言掌握情況

 25.datanode在什么情況下不會備份數(shù)據(jù)

答:在客戶端上傳文件時指定文件副本數(shù)量為1

 26.combine出現(xiàn)在哪個過程

答:shuffle過程中

具體來說,是在maptask輸出的數(shù)據(jù)從內(nèi)存溢出到磁盤,可能會調(diào)多次

Combiner使用時候要特別謹慎,不能影響最后的邏輯結(jié)果

  27. hdfs的體系結(jié)構(gòu)

答:

集群架構(gòu):

namenode datanode secondarynamenode

(active namenode ,standby namenode)journalnode zkfc

內(nèi)部工作機制:

數(shù)據(jù)是分布式存儲的

對外提供一個統(tǒng)一的目錄結(jié)構(gòu)

對外提供一個具體的響應者(namenode)

數(shù)據(jù)的block機制,副本機制

Namenode和datanode的工作職責和機制

讀寫數(shù)據(jù)流程

 28. flush的過程

答:flush是在內(nèi)存的基礎(chǔ)上進行的,首先寫入文件的時候,會先將文件寫到內(nèi)存中,當內(nèi)存寫滿的時候,一次性的將文件全部都寫到硬盤中去保存,并清空緩存中的文件,

29. 什么是隊列

答:是一種調(diào)度策略,機制是先進先出

 30. List與set的區(qū)別

答:List和Set都是接口。他們各自有自己的實現(xiàn)類,有無順序的實現(xiàn)類,也有有順序的實現(xiàn)類。

最大的不同就是List是可以重復的。而Set是不能重復的。

List適合經(jīng)常追加數(shù)據(jù),插入,刪除數(shù)據(jù)。但隨即取數(shù)效率比較低。

Set適合經(jīng)常地隨即儲存,插入,刪除。但是在遍歷時效率比較低。

31.數(shù)據(jù)的三范式

答:

第一范式()無重復的列

第二范式(2NF)屬性完全依賴于主鍵 [消除部分子函數(shù)依賴]

第三范式(3NF)屬性不依賴于其它非主屬性 [消除傳遞依賴]

 32.三個datanode中當有一個datanode出現(xiàn)錯誤時會怎樣?

答:

Namenode會通過心跳機制感知到datanode下線

會將這個datanode上的block塊在集群中重新復制一份,恢復文件的副本數(shù)量

會引發(fā)運維團隊快速響應,派出同事對下線datanode進行檢測和修復,然后重新上線

33.sqoop在導入數(shù)據(jù)到mysql中,如何不重復導入數(shù)據(jù),如果存在數(shù)據(jù)問題,sqoop如何處理?

答:FAILED java.util.NoSuchElementException

此錯誤的原因為sqoop解析文件的字段與MySql數(shù)據(jù)庫的表的字段對應不上造成的。因此需要在執(zhí)行的時候給sqoop增加參數(shù),告訴sqoop文件的分隔符,使它能夠正確的解析文件字段。

hive默認的字段分隔符為'\001'

34.描述一下hadoop中,有哪些地方使用到了緩存機制,作用分別是什么?

答:

Shuffle中

Hbase----客戶端/regionserver

 35.MapReduce優(yōu)化經(jīng)驗

答:(1.)設(shè)置合理的map和reduce的個數(shù)。合理設(shè)置blocksize

(2.)避免出現(xiàn)數(shù)據(jù)傾斜

(3.combine函數(shù)

(4.對數(shù)據(jù)進行壓縮

(5.小文件處理優(yōu)化:事先合并成大文件,combineTextInputformat,在hdfs上用mapreduce將小文件合并成SequenceFile大文件(key:文件名,value:文件內(nèi)容)

(6.參數(shù)優(yōu)化

36.請列舉出曾經(jīng)修改過的/etc/下面的文件,并說明修改要解決什么問題?

答:/etc/profile這個文件,主要是用來配置環(huán)境變量。讓hadoop命令可以在任意目錄下面執(zhí)行。

/ect/sudoers

/etc/hosts

/etc/sysconfig/network

/etc/inittab

 37.請描述一下開發(fā)過程中如何對上面的程序進行性能分析,對性能分析進行優(yōu)化的過程。

  38. 現(xiàn)有 1 億個整數(shù)均勻分布,如果要得到前 1K 個最大的數(shù),求最優(yōu)的算法。

參見《海量數(shù)據(jù)算法面試大全》

39.mapreduce的大致流程

答:主要分為八個步驟

1/對文件進行切片規(guī)劃

2/啟動相應數(shù)量的maptask進程

3/調(diào)用FileInputFormat中的RecordReader,讀一行數(shù)據(jù)并封裝為k1v1

4/調(diào)用自定義的map函數(shù),并將k1v1傳給map

5/收集map的輸出,進行分區(qū)和排序

6/reduce task任務(wù)啟動,并從map端拉取數(shù)據(jù)

7/reduce task調(diào)用自定義的reduce函數(shù)進行處理

8/調(diào)用outputformat的recordwriter將結(jié)果數(shù)據(jù)輸出

40.用mapreduce實現(xiàn)sql語 select count (x) from a group by b;

  41.搭建hadoop集群 , master和slaves都運行哪些服務(wù)

答:master主要是運行我們的主節(jié)點,slaves主要是運行我們的從節(jié)點。

 42. hadoop參數(shù)調(diào)優(yōu)

  43. pig , latin , hive語法有什么不同

  44. 描述Hbase,ZooKeeper搭建過程

  45.hadoop運行原理

答:hadoop的主要核心是由兩部分組成,HDFS和mapreduce,首先HDFS的原理就是分布式的文件存儲系統(tǒng),將一個大的文件,分割成多個小的文件,進行存儲在多臺服務(wù)器上。

Mapreduce的原理就是使用JobTracker和TaskTracker來進行作業(yè)的執(zhí)行。Map就是將任務(wù)展開,reduce是匯總處理后的結(jié)果。

  46.mapreduce的原理

答:mapreduce的原理就是將一個MapReduce框架由一個單獨的master JobTracker和每個集群節(jié)點一個slave TaskTracker共同組成。master負責調(diào)度構(gòu)成一個作業(yè)的所有任務(wù),這些的slave上,master監(jiān)控它們的執(zhí)行,重新執(zhí)行已經(jīng)失敗的任務(wù)。而slave僅負責執(zhí)行由maste指派的任務(wù)。

  47.HDFS存儲機制

答:HDFS主要是一個分布式的文件存儲系統(tǒng),由namenode來接收用戶的操作請求,然后根據(jù)文件大小,以及定義的block塊的大小,將大的文件切分成多個block塊來進行保存

 48.舉一個例子說明mapreduce是怎么運行的。

Wordcount

  49.如何確認hadoop集群的健康狀況

答:有完善的集群監(jiān)控體系(ganglia,nagios)

Hdfs dfsadmin –report

Hdfs haadmin –getServiceState nn1

  50.mapreduce作業(yè),不讓reduce輸出,用什么代替reduce的功能。

  51.hive如何調(diào)優(yōu)

答:hive最終都會轉(zhuǎn)化為mapreduce的job來運行,要想hive調(diào)優(yōu),實際上就是mapreduce調(diào)優(yōu),可以有下面幾個方面的調(diào)優(yōu)。解決收據(jù)傾斜問題,減少job數(shù)量,設(shè)置合理的map和reduce個數(shù),對小文件進行合并,優(yōu)化時把握整體,單個task最優(yōu)不如整體最優(yōu)。按照一定規(guī)則分區(qū)。

52.hive如何控制權(quán)限

我們公司沒做,不需要

  53.HBase寫數(shù)據(jù)的原理是什么?

答:

  54.hive能像關(guān)系型數(shù)據(jù)庫那樣建多個庫嗎?

答:當然能了。

  55.HBase宕機如何處理

答:宕機分為HMaster宕機和HRegisoner宕機,如果是HRegisoner宕機,HMaster會將其所管理的region重新分布到其他活動的RegionServer上,由于數(shù)據(jù)和日志都持久在HDFS中,該操作不會導致數(shù)據(jù)丟失。所以數(shù)據(jù)的一致性和安全性是有保障的。

如果是HMaster宕機,HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過Zookeeper的Master Election機制保證總有一個Master運行。即ZooKeeper會保證總會有一個HMaster在對外提供服務(wù)。

  56.假設(shè)公司要建一個數(shù)據(jù)中心,你會如何處理?

先進行需求調(diào)查分析

設(shè)計功能劃分

架構(gòu)設(shè)計

吞吐量的估算

采用的技術(shù)類型

軟硬件選型

成本效益的分析

項目管理

擴展性

安全性,穩(wěn)定性

關(guān)于“Hadoop大數(shù)據(jù)面試題有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

新聞標題:Hadoop大數(shù)據(jù)面試題有哪些
URL鏈接:http://aaarwkj.com/article28/jpopjp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、自適應網(wǎng)站、ChatGPT、定制網(wǎng)站、網(wǎng)站制作電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
亚洲永久免费精品一区二区三区| 99麻豆久久久精品国产| 欧美日韩精品国产精品| 日韩欧美亚洲视频另类| 国产精品久久久久久老熟女| 亚洲人妻av一区二区三区| 国产精彩在线视频成人在线| 久久五十路初次拍五十路| 欧美特黄在线免费观看| 又黄又爽区一区二区三| 五月色婷婷六月色丁香| 欧美一区二区男人天堂| 亚洲成人精品夫妻av| 相泽南亚洲一区二区在线播放| 日本午夜免费在线视频| 国产精品自拍激情在线观看| 日韩在线视频网站不卡| 亚洲精品国产第一区| 久久久久久精品国产av| 毛片成人18毛片免费看| 日韩一二三区欧美四五区新| 成人短篇在线视频夫妻刺激自拍| 91青青草原在线视频| 可以免费在线看的av网站| 国产黄的网站在线观看| 91精品国产自产在线观看| 不卡一区二区三区av电影| 强暴美女视频大全久久久| 国产欧美日韩一二三四| 国产一区二区三区免费有码视频 | 91亚洲熟妇国产熟妇肥婆| 91精彩啦在线看国产| 国产麻豆精品二区视频| 在线观看国产激情免费视频| 国产精品黄黄久久久免费| 国产高跟丝袜女王调教| 久久精品国产亚洲av高清一区| 日本老太老熟妇一级特黄| 国产精品久久护士96| 日本道视频一区二区三区| 婷婷丁香六月激情综合|