国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大數(shù)據(jù)面試題集錦-Hadoop面試題(五)-優(yōu)化

這篇具有很好參考價(jià)值的文章主要介紹了大數(shù)據(jù)面試題集錦-Hadoop面試題(五)-優(yōu)化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

你準(zhǔn)備好面試了嗎?這里有一些面試中可能會(huì)問(wèn)到的問(wèn)題以及相對(duì)應(yīng)的答案。如果你需要更多的面試經(jīng)驗(yàn)和面試題,關(guān)注一下"張飛的豬大數(shù)據(jù)分享"吧,公眾號(hào)會(huì)不定時(shí)的分享相關(guān)的知識(shí)和資料。

1、MapReduce優(yōu)化方法

1)數(shù)據(jù)輸入
? (1)合并小文件:在執(zhí)行mr任務(wù)前將小文件進(jìn)行合并,大量的小文件會(huì)產(chǎn)生大量的map任務(wù),增大map任務(wù)裝載次數(shù),而任務(wù)的裝載比較耗時(shí),從而導(dǎo)致mr運(yùn)行較慢。
? (2)采用ConbinFileInputFormat來(lái)作為輸入,解決輸入端大量小文件場(chǎng)景。
2)map階段
? (1)減少spill次數(shù):通過(guò)調(diào)整io.sort.mb及sort.spill.percent參數(shù)值,增大觸發(fā)spill的內(nèi)存上限,減少spill次數(shù),從而減少磁盤 IO。
? (2)減少merge次數(shù):通過(guò)調(diào)整io.sort.factor參數(shù),增大merge的文件數(shù)目,減少merge的次數(shù),從而縮短mr處理時(shí)間。
? (3)在 map 之后先進(jìn)行combine處理,減少I/O。
3)reduce階段
? (1)合理設(shè)置map和reduce數(shù):兩個(gè)都不能設(shè)置太少,也不能設(shè)置太多。太少,會(huì)導(dǎo)致task等待,延長(zhǎng)處理時(shí)間;太多,會(huì)導(dǎo)致 map、reduce任務(wù)間競(jìng)爭(zhēng)資源,造成處理超時(shí)等錯(cuò)誤。
? (2)設(shè)置map、reduce共存:調(diào)整slowstart.completedmaps參數(shù),使map運(yùn)行到一定程度后,reduce也開始運(yùn)行,減少reduce的等待時(shí)間。
? (3)規(guī)避使用reduce,因?yàn)镽educe在用于連接數(shù)據(jù)集的時(shí)候?qū)?huì)產(chǎn)生大量的網(wǎng)絡(luò)消耗。
? (4)合理設(shè)置reduce端的buffer,默認(rèn)情況下,數(shù)據(jù)達(dá)到一個(gè)閾值的時(shí)候,buffer中的數(shù)據(jù)就會(huì)寫入磁盤,然后reduce會(huì)從磁盤中獲得所有的數(shù)據(jù)。也就是說(shuō),buffer和reduce是沒有直接關(guān)聯(lián)的,中間多個(gè)一個(gè)寫磁盤->讀磁盤的過(guò)程,既然有這個(gè)弊端,那么就可以通過(guò)參數(shù)來(lái)配置,使得buffer中的一部分?jǐn)?shù)據(jù)可以直接輸送到reduce,從而減少IO開銷:mapred.job.reduce.input.buffer.percent,默認(rèn)為0.0。當(dāng)值大于0的時(shí)候,會(huì)保留指定比例的內(nèi)存讀buffer中的數(shù)據(jù)直接拿給reduce使用。這樣一來(lái),設(shè)置buffer需要內(nèi)存,讀取數(shù)據(jù)需要內(nèi)存,reduce計(jì)算也要內(nèi)存,所以要根據(jù)作業(yè)的運(yùn)行情況進(jìn)行調(diào)整。
4)IO傳輸
? (1)采用數(shù)據(jù)壓縮的方式,減少網(wǎng)絡(luò)IO的的時(shí)間。安裝Snappy和LZOP壓縮編碼器。
? (2)使用SequenceFile二進(jìn)制文件
5)數(shù)據(jù)傾斜問(wèn)題
? (1)數(shù)據(jù)傾斜現(xiàn)象
? ? 數(shù)據(jù)頻率傾斜——某一個(gè)區(qū)域的數(shù)據(jù)量要遠(yuǎn)遠(yuǎn)大于其他區(qū)域。
? ? 數(shù)據(jù)大小傾斜——部分記錄的大小遠(yuǎn)遠(yuǎn)大于平均值。
? (2)如何收集傾斜數(shù)據(jù)
? ? 在reduce方法中加入記錄map輸出鍵的詳細(xì)情況的功能。

public static final String MAX_VALUES = "skew.maxvalues";
private int maxValueThreshold;

@Override
public void configure(JobConf job) {
     maxValueThreshold = job.getInt(MAX_VALUES, 100);
}

@Override
public void reduce(Text key, Iterator<Text> values,
                     OutputCollector<Text, Text> output,
                     Reporter reporter) throws IOException {
     int i = 0;
     while (values.hasNext()) {
         values.next();
         i++;
     }
     if (++i > maxValueThreshold) {
         log.info("Received " + i + " values for key " + key);
     }
}

(3)減少數(shù)據(jù)傾斜的方法
? ? 方法1:抽樣和范圍分區(qū)
? ? ? 可以通過(guò)對(duì)原始數(shù)據(jù)進(jìn)行抽樣得到的結(jié)果集來(lái)預(yù)設(shè)分區(qū)邊界值。
? ? 方法2:自定義分區(qū)
? ? ? 另一個(gè)抽樣和范圍分區(qū)的替代方案是基于輸出鍵的背景知識(shí)進(jìn)行自定義分區(qū)。例如,如果map輸出鍵的單詞來(lái)源于一本書。其中大部分必然是省略詞(stopword)。那么就可以將自定義分區(qū)將這部分省略詞發(fā)送給固定的一部分reduce實(shí)例。而將其他的都發(fā)送給剩余的reduce實(shí)例。
? ? 方法3:Combine
? ? ? 使用Combine可以大量地減小數(shù)據(jù)頻率傾斜和數(shù)據(jù)大小傾斜。在可能的情況下,combine的目的就是聚合并精簡(jiǎn)數(shù)據(jù)。

2、MapReduce跑得慢的原因?

Mapreduce 程序效率的瓶頸在于兩點(diǎn):
1)計(jì)算機(jī)性能
? CPU、內(nèi)存、磁盤健康、網(wǎng)絡(luò)
2)I/O 操作優(yōu)化
? (1)數(shù)據(jù)傾斜
? (2)map和reduce數(shù)設(shè)置不合理
? (3)reduce等待過(guò)久
? (4)小文件過(guò)多
? (5)大量的不可分塊的超大文件
? (6)spill次數(shù)過(guò)多
? (7)merge次數(shù)過(guò)多等

3、HDFS小文件優(yōu)化方法

1)HDFS小文件弊端:
? HDFS上每個(gè)文件都要在namenode上建立一個(gè)索引,這個(gè)索引的大小約為150byte,這樣當(dāng)小文件比較多的時(shí)候,就會(huì)產(chǎn)生很多的索引文件,一方面會(huì)大量占用namenode的內(nèi)存空間,另一方面就是索引文件過(guò)大是的索引速度變慢。
2)解決的方式:
? (1)Hadoop本身提供了一些文件壓縮的方案。
? (2)從系統(tǒng)層面改變現(xiàn)有HDFS存在的問(wèn)題,其實(shí)主要還是小文件的合并,然后建立比較快速的索引。
3)Hadoop自帶小文件解決方案
? (1)Hadoop Archive:
? ? 是一個(gè)高效地將小文件放入HDFS塊中的文件存檔工具,它能夠?qū)⒍鄠€(gè)小文件打包成一個(gè)HAR文件,這樣在減少namenode內(nèi)存使用的同時(shí)。
? (2)Sequence file:
? ? sequence file由一系列的二進(jìn)制key/value組成,如果為key小文件名,value為文件內(nèi)容,則可以將大批小文件合并成一個(gè)大文件。
? (3)CombineFileInputFormat:
? ? CombineFileInputFormat是一種新的inputformat,用于將多個(gè)文件合并成一個(gè)單獨(dú)的split,另外,它會(huì)考慮數(shù)據(jù)的存儲(chǔ)位置。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-599051.html

4、更多大數(shù)據(jù)面試集錦

  1. 大數(shù)據(jù)書籍資料分享
  2. 大數(shù)據(jù)面試題集錦

到了這里,關(guān)于大數(shù)據(jù)面試題集錦-Hadoop面試題(五)-優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue面試題集錦

    1. 談一談對(duì) MVVM 的理解? MVVM 是 Model-View-ViewModel 的縮寫。MVVM 是一種設(shè)計(jì)思想。 Model 層代表數(shù)據(jù)模型,也可以在 Model 中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯; View 代表 UI 組件,它負(fù)責(zé)將數(shù)據(jù)模型轉(zhuǎn)化成 UI 展現(xiàn)出來(lái),View 是一個(gè)同步 View 和 Model 的對(duì)象 在 MVVM 架構(gòu)下,View 和 Model 之

    2024年01月21日
    瀏覽(20)
  • Spark面試題集錦

    1、什么是Apache Spark?Spark是什么? 是基于內(nèi)存的分布式的大數(shù)據(jù)并行計(jì)算框架,可用于構(gòu)建大型的、低延遲的數(shù)據(jù)分析應(yīng)用程序。包含Spark core、Spark sql、Spark streaming 、Spark MLlib 、spark GraphX五個(gè)核心組件。 2、Spark的核心組件是什么? Spark Core:是其它組件的基礎(chǔ),spark的內(nèi)核

    2024年02月04日
    瀏覽(24)
  • 音視頻開發(fā)面試題集錦

    音視頻開發(fā)面試題集錦

    下面是 2022.06 月音視頻面試題集錦內(nèi)容的節(jié)選: 媒體封裝層是表示媒體數(shù)據(jù)是什么封裝格式的,比如 MP4、FLV。在這層信息里,通常會(huì)攜帶碼流編碼格式的信息。 拿 MP4 來(lái)說(shuō),我們可以根據(jù) Sample Description Box(moov/trak/mdia/minf/stbl/stsd) 中的信息來(lái)確定其封裝的碼流的編碼格式。

    2023年04月13日
    瀏覽(26)
  • 500道網(wǎng)絡(luò)安全面試題集錦(附答案)

    500道網(wǎng)絡(luò)安全面試題集錦(附答案)

    本篇文章內(nèi)容為網(wǎng)絡(luò)安全各個(gè)方向涉及的面試題,但是無(wú)論如何都無(wú)法覆蓋所有的面試問(wèn)題,更多的還是希望由點(diǎn)達(dá)面,查漏補(bǔ)缺,然后祝各位前程似錦,都能找到自己滿意的工作! ? 攻擊者通過(guò)在web界面中嵌入惡意腳本(通常為js代碼),造成用戶在瀏覽網(wǎng)頁(yè)時(shí),控制用戶

    2024年02月15日
    瀏覽(26)
  • Java大廠常見1000道面試題集錦(一)

    Java大廠常見1000道面試題集錦(一)

    本系列為Java常見面試題集錦,持續(xù)更新中,包括筆試題和面試題, 建議收藏慢慢看 while(true){} 是一個(gè)無(wú)限循環(huán)的語(yǔ)句,它的作用是讓程序在執(zhí)行到該語(yǔ)句時(shí)不停地循環(huán)下去,直到程序被終止或者遇到 break、return 等跳出循環(huán)的語(yǔ)句。 無(wú)限循環(huán)的使用場(chǎng)景比較多,例如: 實(shí)現(xiàn)

    2024年02月06日
    瀏覽(56)
  • 找工作嗎?50道Python面試題集錦【附答案】

    找工作嗎?50道Python面試題集錦【附答案】

    嗨害大家好鴨!我是愛摸魚的芝士~ 希望能夠幫助你在今年的求職面試中脫穎而出, 找到一份高薪工作~ 這些面試題涉及Python基礎(chǔ)知識(shí)、Python編程、數(shù)據(jù)分析以及Python函數(shù)庫(kù)等多個(gè)方面。 提前預(yù)祝給這篇文章點(diǎn)贊收藏的友友們~ 拿到心中最滿意的那一份OFFER~ Q1、Python中的列表

    2023年04月18日
    瀏覽(26)
  • 數(shù)據(jù)庫(kù)面試題與復(fù)試準(zhǔn)備

    數(shù)據(jù)庫(kù)面試題與復(fù)試準(zhǔn)備

    mysql中的索引分為三類:B+樹索引,Hash索引,和全文索引 問(wèn)題一:Innodb索引與MylSAM的區(qū)別 按物理存儲(chǔ)分類:InnoDB的存儲(chǔ)方式是聚集索引,MyISAM的存儲(chǔ)方式是非聚集索引。 兩種索引都采用B+樹的索引方式 MyISAM索引文件和數(shù)據(jù)文件是分離的,使用B+樹實(shí)現(xiàn),主鍵索引和輔助索引實(shí)

    2024年01月18日
    瀏覽(18)
  • 如何高度優(yōu)化適用于企業(yè)的AI (二) 數(shù)據(jù)準(zhǔn)備

    如何高度優(yōu)化適用于企業(yè)的AI (二) 數(shù)據(jù)準(zhǔn)備

    我們先從快速瀏覽整個(gè)過(guò)程 首先, 我們需要數(shù)據(jù), 要盡可能使用CSV/Json格式, 基于這些信息, 我們要讓AI獲取所有所需要的信息來(lái)正確的完成它的工作 準(zhǔn)備數(shù)據(jù), 微調(diào)過(guò)程需要很長(zhǎng)的書劍才能運(yùn)行, 我們肯定是不希望出現(xiàn)錯(cuò)誤的, 所以我們使用OpenAI的數(shù)據(jù)準(zhǔn)備工具(CLI tool)來(lái)處理我

    2024年02月11日
    瀏覽(22)
  • 大數(shù)據(jù)開發(fā)(Hadoop面試真題-卷二)

    缺點(diǎn): 復(fù)雜度高 :編寫MapReduce程序需要考慮拆分、排序、歸約等許多細(xì)節(jié), 容易出錯(cuò)且編寫和調(diào)試的時(shí)間較長(zhǎng) 。 開銷大 :MapReduce在耗費(fèi)昂貴的I/O操作時(shí),會(huì) 產(chǎn)生較多的磁盤讀寫開銷 。 編程模型局限性 :MapReduce框架主要適合于批處理任務(wù), 在實(shí)時(shí)計(jì)算或迭代計(jì)算等方面

    2024年03月12日
    瀏覽(18)
  • 大數(shù)據(jù)開發(fā)(Hadoop面試真題-卷七)

    Map的分片大小取決于多個(gè)因素,包括所用的分布式文件系統(tǒng)、集群的配置和硬件資源。 一般來(lái)說(shuō), Hadoop的Map的默認(rèn)分片大小是64MB 。這是因?yàn)?Hadoop將輸入數(shù)據(jù)切分固定大小的塊進(jìn)行處理,每個(gè)塊作為Map的輸入 。這個(gè)大小可以通過(guò)’ mapreduce.input.fileinputformat.split.maxsize ’屬性

    2024年03月26日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包