欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Hadoop中TeraSort修改后輸出翻倍異常怎么辦

小編給大家分享一下Hadoop中TeraSort修改后輸出翻倍異常怎么辦,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括倉(cāng)山網(wǎng)站建設(shè)、倉(cāng)山網(wǎng)站制作、倉(cāng)山網(wǎng)頁(yè)制作以及倉(cāng)山網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專(zhuān)注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,倉(cāng)山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶(hù)以成都為中心已經(jīng)輻射到倉(cāng)山省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶(hù)的支持與信任!

    簡(jiǎn)而言之,就是在修改了TeraInputFormat.java之后,運(yùn)行TeraSort所得到的輸出數(shù)據(jù)不同程度的翻倍,剛開(kāi)始并沒(méi)有什么頭緒,并且把采樣的線程和Map的讀入<key, value>搞混了,邏輯不清晰,導(dǎo)致很多時(shí)間都在無(wú)關(guān)緊要的地方反復(fù)調(diào)試.

    其實(shí)應(yīng)該可以想到一種辦法,就是在MapTask里設(shè)斷點(diǎn)觀察,但不知道是自己懶還是因?yàn)閷?duì)隱藏在深處的MapTask有一種畏懼心里,起初我并沒(méi)有仔細(xì)進(jìn)去看,后來(lái)在MapTask里RecordReader部分的nextKeyValue()方法里設(shè)置變量計(jì)數(shù)并輸出,來(lái)觀察每次split所獲取的記錄條數(shù),結(jié)果發(fā)現(xiàn),我的每個(gè)split都完整的獲取了整個(gè)(注意是整個(gè)輸入文件)而不是一個(gè)split大小的記錄,所以輸出也隨著翻倍了.

    那么關(guān)鍵點(diǎn)找出來(lái)了,問(wèn)題出在哪里呢?MapTask部分是Hadoop默認(rèn)綁定的,TeraSort并沒(méi)有重寫(xiě),所以這部分不可能出錯(cuò);TeraInputFormat的前半部分是取樣部分,問(wèn)題不可能出在這里;后半部分的RecordReader的initialize部分和修改前基本無(wú)變化,那錯(cuò)誤的部分一定是在nextKeyValue()部分了,于是一行一行分析,最終鎖定了這一句:

newSize = in.readLine(record);

    很普通的讀取一行記錄,那有沒(méi)有可能是readLine()這個(gè)方法對(duì)長(zhǎng)度沒(méi)有限定呢?雖然nextKeyValue()方法是split對(duì)象調(diào)用的,但會(huì)不會(huì)readLine()并不理會(huì)你每個(gè)split塊的大小而是一股氣往下讀取直到讀到文件末尾呢?

    為了驗(yàn)證這個(gè)可能,我添加了全局變量:    

long recordLen;
//將下面這句加在nextKeyValue()中
recordLen += newSize;

    來(lái)記錄讀取記錄的總長(zhǎng)度,,并設(shè)定當(dāng)

if(recordLen >= split.getLength){
    return false;
}

    修改后打jar包放到節(jié)點(diǎn)上運(yùn)行,結(jié)果正確?。?!

看完了這篇文章,相信你對(duì)“Hadoop中TeraSort修改后輸出翻倍異常怎么辦”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

文章題目:Hadoop中TeraSort修改后輸出翻倍異常怎么辦
網(wǎng)站URL:http://chinadenli.net/article46/gidgeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊(cè)、響應(yīng)式網(wǎng)站、企業(yè)建站、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

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

成都定制網(wǎng)站網(wǎng)頁(yè)設(shè)計(jì)