中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

當(dāng)前位置: 首頁 / 技術(shù)干貨 / 正文
好程序員大數(shù)據(jù)培訓(xùn)之大數(shù)據(jù)面試題整理

2020-09-28

大數(shù)據(jù)培訓(xùn) 大數(shù)據(jù)面試題

  今天好程序員大數(shù)據(jù)培訓(xùn)老師給大家分享一篇關(guān)于大數(shù)據(jù)面試題整理的詳細(xì)介紹,下面我們一起來看一下吧。

好程序員

  一、.hdfs寫文件的步驟

  答案:

  (1)client向NameNode申請上傳…/xxx.txt文件

  (2)NN向client響應(yīng)可以上傳文件

  (3)Client向NameNode申請DataNode

  (4)NN向Client返回DN1,DN2,DN3

  (5)Client向DN1,DN2,DN3申請建立文件傳輸通道

  (6)DN3,DN2,DN1依次響應(yīng)連接

  (7)Client向DN1上傳一個block,DN1向DN2,DN3冗余文件

  大數(shù)據(jù)面試題整理

  二、hdfs讀取文件步驟

  答案:

  (1)client向NN請求下載…/xxx.txt文件

  (2)NN向client返回文件的元數(shù)據(jù)

  (3)Client向DN1請求訪問讀數(shù)據(jù)blk_1

  (4)DN1向Client傳輸數(shù)據(jù)

  (5)Client向DN2請求訪問讀數(shù)據(jù)blk_2

  (6)DN2向Client傳輸數(shù)據(jù)

  大數(shù)據(jù)面試題整理

  大數(shù)據(jù)面試題整理

  三、hadoop的shuffle過程

  1.Map端的shuffle

  Map端會處理輸入數(shù)據(jù)并產(chǎn)生中間結(jié)果,這個中間結(jié)果會寫到本地磁盤,而不是HDFS。每個Map的輸出會先寫到內(nèi)存緩沖區(qū)中,當(dāng)寫入的數(shù)據(jù)達(dá)到設(shè)定的閾值時,系統(tǒng)將會啟動一個線程將緩沖區(qū)的數(shù)據(jù)寫到磁盤,這個過程叫做spill。

  在spill寫入之前,會先進(jìn)行二次排序,首先根據(jù)數(shù)據(jù)所屬的partition進(jìn)行排序,然后每個partition中的數(shù)據(jù)再按key來排序。partition的目是將記錄劃分到不同的Reducer上去,以期望能夠達(dá)到負(fù)載均衡,以后的Reducer就會根據(jù)partition來讀取自己對應(yīng)的數(shù)據(jù)。接著運行combiner(如果設(shè)置了的話),combiner的本質(zhì)也是一個Reducer,其目的是對將要寫入到磁盤上的文件先進(jìn)行一次處理,這樣,寫入到磁盤的數(shù)據(jù)量就會減少。zui后將數(shù)據(jù)寫到本地磁盤產(chǎn)生spill文件(spill文件保存在{mapred.local.dir}指定的目錄中,Map任務(wù)結(jié)束后就會被刪除)。

  zui后,每個Map任務(wù)可能產(chǎn)生多個spill文件,在每個Map任務(wù)完成前,會通過多路歸并算法將這些spill文件歸并成一個文件。至此,Map的shuffle過程就結(jié)束了。

  2.Reduce端的shuffle

  Reduce端的shuffle主要包括三個階段,copy、sort(merge)和reduce。

  首先要將Map端產(chǎn)生的輸出文件拷貝到Reduce端,但每個Reducer如何知道自己應(yīng)該處理哪些數(shù)據(jù)呢?因為Map端進(jìn)行partition的時候,實際上就相當(dāng)于指定了每個Reducer要處理的數(shù)據(jù)(partition就對應(yīng)了Reducer),所以Reducer在拷貝數(shù)據(jù)的時候只需拷貝與自己對應(yīng)的partition中的數(shù)據(jù)即可。每個Reducer會處理一個或者多個partition,但需要先將自己對應(yīng)的partition中的數(shù)據(jù)從每個Map的輸出結(jié)果中拷貝過來。

  接下來就是sort階段,也成為merge階段,因為這個階段的主要工作是執(zhí)行了歸并排序。從Map端拷貝到Reduce端的數(shù)據(jù)都是有序的,所以很適合歸并排序。zui終在Reduce端生成一個較大的文件作為Reduce的輸入。

  zui后就是Reduce過程了,在這個過程中產(chǎn)生了zui終的輸出結(jié)果,并將其寫到HDFS上。

  四、fsimage和edit的區(qū)別?

  當(dāng)NN,SN要進(jìn)行數(shù)據(jù)同步時叫做checkpoint時就用到了fsimage與edit,fsimage是保存zui新的元數(shù)據(jù)的信息,當(dāng)fsimage數(shù)據(jù)到一定的大小事會去生成一個新的文件來保存元數(shù)據(jù)的信息,這個新的文件就是edit,edit會回滾zui新的數(shù)據(jù)。

  五、簡單說一下hadoop的map-reduce模型

  首先maptask會從本地文件系統(tǒng)讀取數(shù)據(jù),轉(zhuǎn)換成key-value形式的鍵值對集合,使用的是hadoop內(nèi)置的數(shù)據(jù)類型,如Text,Longwritable等。

  將鍵值對集合輸入mapper進(jìn)行業(yè)務(wù)處理過程,將其轉(zhuǎn)化成需要的key-value再輸出。

  之后會進(jìn)行一個partition分區(qū)操作,默認(rèn)使用的是hashpartitioner,可以通過重寫hashpartitioner的getPartition方法來自定義分區(qū)規(guī)則。

  之后會對key進(jìn)行sort排序,grouping分組操作將相同key的value合并分組輸出,在這里可以使用自定義的數(shù)據(jù)類型,重寫WritableComparator的Comparator方法來自定義排序規(guī)則,重寫RawComparator的compara方法來自定義分組規(guī)則。

  之后進(jìn)行一個combiner歸約操作,就是一個本地的reduce預(yù)處理,以減小shuffle,reducer的工作量。

  Reducetask會用過網(wǎng)絡(luò)將各個數(shù)據(jù)收集進(jìn)行reduce處理,zui后將數(shù)據(jù)保存或者顯示,結(jié)束整個job。

  六、運行hadoop集群需要哪些守護(hù)進(jìn)程?

  DataNode,NameNode,TaskTracker和JobTracker都是運行Hadoop集群需要的守護(hù)進(jìn)程。

  七、hadoop的TextInputFormat作用是什么,如何自定義實現(xiàn)?

  InputFormat會在map操作之前對數(shù)據(jù)進(jìn)行兩方面的預(yù)處理。

  1.是getSplits,返回的是InputSplit數(shù)組,對數(shù)據(jù)進(jìn)行Split分片,每片交給map操作一次。

  2.是getRecordReader,返回的是RecordReader對象,對每個Split分片進(jìn)行轉(zhuǎn)換為key-value鍵值對格式傳遞給map常用的InputFormat是TextInputFormat,使用的是LineRecordReader對每個分片進(jìn)行鍵值對的轉(zhuǎn)換,以行偏移量作為鍵,行內(nèi)容作為值。

  自定義類繼承InputFormat接口,重寫createRecordReader和isSplitable方法在createRecordReader中可以自定義分隔符。

  八、hadoop和spark都是并行計算,那么他們有什么相同和區(qū)別?

  兩者都使用mr模型來進(jìn)行并行計算,hadoop的一個作業(yè)稱為job,job里面分為maptask和reducetask,每個task都是在自己的進(jìn)程中運行的,當(dāng)task結(jié)束時,進(jìn)程也會結(jié)束。

  Spark用戶提交的任務(wù)稱為application,一個application對應(yīng)一個SparkContext,app中存在多個job,沒觸發(fā)一個action操作就會產(chǎn)生一個job。

  這些job可以并行或者串行執(zhí)行,每個job有多個stage,stage是shuffle過程中DAGSchaduler通過RDD之間的依賴關(guān)系劃分job而來的,每個stage里面有多個task,組成taskset有TaskSchaduler分發(fā)到各個executor中執(zhí)行,executor的生命周期是和application一樣的,即使沒有job運行也是存在的,所以task可以快速啟動讀取內(nèi)存進(jìn)行計算的。

  Hadoop的job只有map和reduce操作,表達(dá)能力比較欠缺而且在mr過程中會重復(fù)的讀寫hdfs,造成大量的io操作,多個job需要自己管理關(guān)系。

  Spark的迭代計算都是在內(nèi)存中進(jìn)行的,API中提供了大量的RDD操作join,groupby等,而且通過DAG圖可以實現(xiàn)良好的容錯。

  九、為什么要用flume導(dǎo)入hdfs,hdfs的架構(gòu)是怎樣的?

  Flume可以實時的導(dǎo)入數(shù)據(jù)到hdfs中,當(dāng)hdfs上的文件達(dá)到一個指定大小的時候會形成一個文件,或者超時所指定時間的話也形成一個文件。

  文件都是存儲在datanode上的,namenode存儲著datanode的元數(shù)據(jù)信息,而namenode的元數(shù)據(jù)信息是存在內(nèi)存中的,所以當(dāng)文件切片很小或者很多的時候會卡死。

  十、MR程序運行的時候會有什么比較常見的問題?

  比如說作業(yè)中大部分都完成了,但是總有幾個reduce一直在運行。

  這是因為這幾個reduce中的處理的數(shù)據(jù)要遠(yuǎn)遠(yuǎn)大于其他的reduce,可能是對鍵值對任務(wù)劃分的不均勻造成的數(shù)據(jù)傾斜。

  解決的方法可以在分區(qū)的時候重新定義分區(qū)規(guī)則對于value數(shù)據(jù)很多的key可以進(jìn)行拆分、均勻打散等處理,或者是在map端的combiner中進(jìn)行數(shù)據(jù)預(yù)處理的操作。

  十一、簡單說一下hadoop和spark的shuffle過程

  Hadoop:map端保存分片數(shù)據(jù),通過網(wǎng)絡(luò)收集到reduce端。

  Spark:spark的shuffle實在DAGSchedular劃分Stage的時候產(chǎn)生的,TaskSchedular要分發(fā)Stage到各個worker的executor。減少shuffle可以提高性能。

  十二、hive中存放的是什么?

  表。

  存的是和hdfs的映射關(guān)系,hive是邏輯上的數(shù)據(jù)倉庫,實際操作的都是hdfs上的文件,HQL就是用SQL語法來寫的MR程序。

  十三、Hive與關(guān)系型數(shù)據(jù)庫的關(guān)系?

  沒有關(guān)系,hive是數(shù)據(jù)倉庫,不能和數(shù)據(jù)庫一樣進(jìn)行實時的CRUD操作。

  是一次寫入多次讀取的操作,可以看成是ETL的工具。

  十四、Flume的工作及時是什么?

  核心概念是agent,里面包括source,channel和sink三個組件。

  Source運行在日志收集節(jié)點進(jìn)行日志采集,之后臨時存儲在channel中,sink負(fù)責(zé)將channel中的數(shù)據(jù)發(fā)送到目的地。

  只有發(fā)送成功channel中的數(shù)據(jù)才會被刪除。

  首先書寫flume配置文件,定義agent、source、channel和sink然后將其組裝,執(zhí)行flume-ng命令。

  十五、Hbase行鍵列族的概念,物理模型,表的設(shè)計原則?

  行鍵:是hbase表自帶的,每個行鍵對應(yīng)一條數(shù)據(jù)。

  列族:是創(chuàng)建表時指定的,為列的集合,每個列族作為一個文件單獨存儲,存儲的數(shù)據(jù)都是字節(jié)數(shù)組,其中數(shù)據(jù)可以有很多,通過時間戳來區(qū)分。

  物理模型:整個hbase表會拆分成多個region,每個region記錄著行鍵的起始點保存在不同的節(jié)點上,查詢時就是對各個節(jié)點的并行查詢,當(dāng)region很大時使用.META表存儲各個region的起始點,-ROOT又可以存儲.META的起始點。

  Rowkey的設(shè)計原則:各個列族數(shù)據(jù)平衡,長度原則、相鄰原則,創(chuàng)建表的時候設(shè)置表放入regionserver緩存中,避免自動增長和時間,使用字節(jié)數(shù)組代替string,zui大長度64kb,zui好16字節(jié)以內(nèi),按天分表,兩個字節(jié)散列,四個字節(jié)存儲時分毫秒。

  列族的設(shè)計原則:盡可能少(按照列族進(jìn)行存儲,按照region進(jìn)行讀取,不必要的io操作),經(jīng)常和不經(jīng)常使用的兩類數(shù)據(jù)放入不同列族中,列族名字盡可能短。

  十六、請列出正常的hadoop集群中hadoop都分別需要啟動哪些進(jìn)程,他們的作用分別都是什么,請盡量列的詳細(xì)一些。

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

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

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

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

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

  Resourcemanager、Nodemanager、Journalnode、Zookeeper、Zkfc

  十七、請說明hive中SortBy、OrderBy、ClusterBy,DistributeBy各代表什么意思?

  orderby:會對輸入做全局排序,因此只有一個reducer(多個reducer無法保證全局有序)。只有一個reducer,會導(dǎo)致當(dāng)輸入規(guī)模較大時,需要較長的計算時間。

  sortby:不是全局排序,其在數(shù)據(jù)進(jìn)入reducer前完成排序。

  distributeby:按照指定的字段對數(shù)據(jù)進(jìn)行劃分輸出到不同的reduce中。

  clusterby:除了具有distributeby的功能外還兼具sortby的功能。

  十八、HBase簡單讀寫流程?

  讀:

  找到要讀數(shù)據(jù)的region所在的RegionServer,然后按照以下順序進(jìn)行讀取:先去BlockCache讀取,若BlockCache沒有,則到Memstore讀取,若Memstore中沒有,則到HFile中去讀。

  寫:

  找到要寫數(shù)據(jù)的region所在的RegionServer,然后先將數(shù)據(jù)寫到WAL(Write-AheadLogging,預(yù)寫日志系統(tǒng))中,然后再將數(shù)據(jù)寫到Memstore等待刷新,回復(fù)客戶端寫入完成。

  十九、HBase的特點是什么?

  (1)hbase是一個分布式的基于列式存儲的數(shù)據(jù)庫,基于hadoop的HDFS存儲,zookeeper進(jìn)行管理。

  (2)hbase適合存儲半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù),對于數(shù)據(jù)結(jié)構(gòu)字段不夠確定或者雜亂無章很難按一個概念去抽取的數(shù)據(jù)。

  (3)hbase為null的記錄不會被存儲。

  (4)基于的表包括rowkey,時間戳和列族。新寫入數(shù)據(jù)時,時間戳更新,同時可以查詢到以前的版本。

  (5)hbase是主從結(jié)構(gòu)。Hmaster作為主節(jié)點,hregionserver作為從節(jié)點。

  二十、請描述如何解決Hbase中region太小和region太大帶來的結(jié)果。

  Region過大會發(fā)生多次compaction,將數(shù)據(jù)讀一遍并寫一遍到hdfs上,占用io,region過小會造成多次split,region會下線,影響訪問服務(wù),調(diào)整hbase.heregion.max.filesize為256m。

  以上就是關(guān)于好程序員大數(shù)據(jù)培訓(xùn)之面試題整理的全部內(nèi)容,想要了解更多關(guān)于大數(shù)據(jù)開發(fā)方面內(nèi)容的小伙伴,請關(guān)注好程序員大數(shù)據(jù)培訓(xùn)官網(wǎng)、微信等平臺,好程序員有專業(yè)的大數(shù)據(jù)講師為您指導(dǎo),

好程序員公眾號

  • · 剖析行業(yè)發(fā)展趨勢
  • · 匯聚企業(yè)項目源碼

好程序員開班動態(tài)

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數(shù)據(jù)+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發(fā) <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數(shù)據(jù)分析 <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發(fā) <高端班>

    開班時間:2021-07-12(北京)

    預(yù)約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓(xùn)IT培訓(xùn)
在線咨詢
IT培訓(xùn)IT培訓(xùn)
試聽
IT培訓(xùn)IT培訓(xùn)
入學(xué)教程
IT培訓(xùn)IT培訓(xùn)
立即報名
IT培訓(xùn)

Copyright 2011-2023 北京千鋒互聯(lián)科技有限公司 .All Right 京ICP備12003911號-5 京公網(wǎng)安備 11010802035720號

中文在线免费看视频_国产成人精品亚洲日本在线观看_亚洲精品第一综合99久久_国产亚洲精品日韩综合网

            国产精品情趣视频| 久久综合九色综合欧美98| 日韩欧美亚洲一区二区| 亚洲综合色自拍一区| 成人性生交大片免费看在线播放 | 福利一区二区在线| 日韩网站在线看片你懂的| 亚洲一二三区在线观看| 97久久精品人人爽人人爽蜜臀| 久久久一区二区三区捆绑**| 精品一区二区三区免费视频| 国产精品看片你懂得| 美女网站在线免费欧美精品| 91精品国产手机| 五月天欧美精品| 欧美猛男超大videosgay| 亚洲黄色免费电影| 91激情五月电影| 亚洲一区二区欧美激情| 福利91精品一区二区三区| 欧美日韩一区二区在线视频| 久久久久久**毛片大全| 开心九九激情九九欧美日韩精美视频电影| 精品污污网站免费看| 一区二区三区毛片| 欧美性猛片xxxx免费看久爱| 午夜私人影院久久久久| 欧美巨大另类极品videosbest| 亚洲va欧美va人人爽| 欧美精三区欧美精三区| 奇米888四色在线精品| 精品国产乱码久久久久久久久| 激情综合亚洲精品| 国产精品美女久久久久久久久久久| av日韩在线网站| 亚洲高清视频在线| 精品欧美乱码久久久久久| 国产精品一级片| 亚洲久草在线视频| 制服丝袜亚洲播放| 国产成人欧美日韩在线电影| 18成人在线观看| 这里是久久伊人| 国产精品中文有码| 亚洲美女视频在线观看| 欧美精品丝袜久久久中文字幕| 久久成人av少妇免费| 亚洲欧美自拍偷拍色图| 欧美区在线观看| 国产乱子伦视频一区二区三区 | 奇米四色…亚洲| 国产精品久久午夜夜伦鲁鲁| 欧美日韩性生活| 国产成人a级片| 图片区小说区区亚洲影院| 国产婷婷一区二区| 欧美日韩精品系列| 成人av免费网站| 美腿丝袜亚洲综合| 亚洲色图欧美激情| 欧美成人aa大片| 欧美一a一片一级一片| 国产精品伊人色| 视频在线观看一区| 亚洲色图欧美偷拍| 久久久三级国产网站| 欧美日韩国产不卡| 成人中文字幕在线| 99riav一区二区三区| 毛片一区二区三区| 一区二区三区产品免费精品久久75| 精品成人在线观看| 欧美精品国产精品| 一本一本久久a久久精品综合麻豆| 精品一区二区国语对白| 亚洲成人精品一区二区| 亚洲图片另类小说| 日本一区二区三区电影| 91精品在线观看入口| 欧美午夜视频网站| 成人18精品视频| 国产精品一品二品| 久久aⅴ国产欧美74aaa| 午夜精品一区二区三区免费视频| 亚洲女与黑人做爰| 亚洲啪啪综合av一区二区三区| 国产亚洲欧美日韩俺去了| 欧美tk—视频vk| 欧美草草影院在线视频| 91精品久久久久久久91蜜桃 | 日本成人中文字幕在线视频| 亚洲一区二区三区自拍| 亚洲乱码日产精品bd| 成人欧美一区二区三区白人 | 蜜桃av一区二区在线观看| 五月婷婷久久丁香| 丝袜美腿高跟呻吟高潮一区| 亚洲大片在线观看| 亚洲一二三专区| 亚洲中国最大av网站| 亚洲国产成人av| 午夜影院在线观看欧美| 丝袜a∨在线一区二区三区不卡| 亚洲国产一二三| 亚洲成人黄色影院| 天天av天天翘天天综合网色鬼国产| 午夜亚洲国产au精品一区二区| 午夜视频久久久久久| 爽爽淫人综合网网站| 水蜜桃久久夜色精品一区的特点| 免费在线观看成人| 国产麻豆午夜三级精品| 粉嫩13p一区二区三区| 91视频一区二区| 欧美性色黄大片| 日韩欧美一级片| 欧美国产成人精品| 一区二区激情视频| 日韩国产高清影视| 国产精品亚洲一区二区三区在线 | 欧美丰满少妇xxxxx高潮对白| 9191精品国产综合久久久久久| 日韩视频免费观看高清完整版| 2欧美一区二区三区在线观看视频| 国产性做久久久久久| 亚洲免费视频中文字幕| 午夜久久久久久久久| 国产麻豆精品一区二区| 91丨porny丨首页| 69堂成人精品免费视频| 日本一区二区三区在线不卡 | 精品日韩欧美一区二区| 国产精品久久久久久久久免费丝袜 | www久久精品| 亚洲日本乱码在线观看| 日本欧美肥老太交大片| 成人免费视频免费观看| 欧美高清性hdvideosex| 日本一区二区三级电影在线观看 | 久久精品人人做人人综合| 亚洲精品欧美激情| 黄色成人免费在线| 欧美性猛片xxxx免费看久爱| 国产亚洲一本大道中文在线| 洋洋av久久久久久久一区| 国产偷国产偷亚洲高清人白洁| 国产女主播视频一区二区| 亚洲天堂av一区| 韩国av一区二区三区在线观看| heyzo一本久久综合| 日韩区在线观看| 亚洲精品你懂的| 大胆欧美人体老妇| 日韩欧美的一区| 亚洲国产欧美日韩另类综合 | 26uuu国产一区二区三区| 悠悠色在线精品| 国产成人综合亚洲网站| 欧美情侣在线播放| 国产精品久久久久久久久久久免费看| 日本欧美一区二区| 在线观看一区不卡| 成人欧美一区二区三区视频网页| 精品一区二区精品| 欧美日高清视频| 一区二区三区欧美久久| 国产大片一区二区| 欧美成人伊人久久综合网| 午夜精品一区二区三区免费视频| 成人av免费在线播放| 国产亚洲精品福利| 国产一区二区精品久久99| 欧美人伦禁忌dvd放荡欲情| 亚洲欧美日韩国产手机在线 | 久久综合九色综合97婷婷 | 国产精品99久久久| 国产精品一区二区在线播放| 欧美视频一二三区| 亚洲美女偷拍久久| 成人福利电影精品一区二区在线观看| 欧美一级二级在线观看| 亚洲观看高清完整版在线观看| 91亚洲男人天堂| 国产精品久久久久永久免费观看 | 欧美大胆一级视频| 午夜精品久久久久久久| 色妞www精品视频| 一区二区在线观看视频| 91激情在线视频| 亚洲一区二区三区美女| 欧美日韩一区二区在线观看视频| 亚洲免费观看高清完整版在线 | 成人av在线播放网址| 欧美国产成人在线| 91在线观看一区二区| 亚洲四区在线观看| 欧美图区在线视频| 日韩国产精品久久| 久久先锋影音av| 成人激情黄色小说|