亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > 文庫 > 正文

hadoop map-reduce中的文件并發(fā)操作

2020-10-29 21:51:07
字體:
供稿:網(wǎng)友

這樣的操作在map端或者reduce端均可。下面以一個(gè)實(shí)際業(yè)務(wù)場(chǎng)景中的例子來簡(jiǎn)要說明。

問題簡(jiǎn)要描述:

假如reduce輸入的key是Text(String),value是BytesWritable(byte[]),不同key的種類為100萬個(gè),value的大小平均為30k左右,每個(gè)key大概對(duì)應(yīng) 100個(gè)value,要求對(duì)每一個(gè)key建立兩個(gè)文件,一個(gè)用來不斷添加value中的二進(jìn)制數(shù)據(jù),一個(gè)用來記錄各個(gè)value在文件中的位置索引。(大量的小文件會(huì)影響HDFS的性能,所以最好對(duì)這些小文件進(jìn)行拼接)

當(dāng)文件數(shù)量較小時(shí),可以考慮使用MultipleOutput來進(jìn)行key-value的分流,可以按照key的不同,將其輸出到不同的文件或者目錄中。但是reduce的數(shù)量只能為1,不然每個(gè)reduce都會(huì)生成相同的目錄或者文件,不能達(dá)到最終的目的。此外最重要的是,操作系統(tǒng)對(duì)每個(gè)進(jìn)程打開的文件數(shù)量的限制,默認(rèn)為1024,集群的各個(gè)datanode可能會(huì)配置更高的值,但最多在幾萬左右,仍然是一個(gè)限制因素。不能滿足百萬文件的需求。

reduce的主要目的是用來歸并key-value并輸出到HDFS上,我們當(dāng)然也可以在reduce中進(jìn)行其他的操作,比如文件讀寫。因?yàn)槟J(rèn)的partitioner保證同一個(gè)key的數(shù)據(jù)肯定會(huì)在同一個(gè)reduce中,所以在每個(gè)reduce中只用打開兩個(gè)文件進(jìn)行讀寫即可(一個(gè)索引文件,一個(gè)數(shù)據(jù)文件)。并發(fā)度由reduce數(shù)量決定,將reduce數(shù)量設(shè)為256,那我們就可以同時(shí)處理256個(gè)key的數(shù)據(jù)(partioner保證了不同reduce處理的key不同,不會(huì)引起文件讀寫沖突)。這樣的并發(fā)度的效率是很客觀的,可以在較短的時(shí)間內(nèi)完成需求。

思路是這樣,但同時(shí)由于hdfs的特性以及hadoop的任務(wù)調(diào)度,在文件讀寫過程中,仍有可能會(huì)出現(xiàn)很多問題,下面簡(jiǎn)要說些一些常見的會(huì)碰到的問題。

1.org.apache.hadoop.hdfs.protocol.AlreadyBeingCreatedException異常

這可能是最經(jīng)常碰到的一個(gè)問題??赡艿脑蛉缦拢?/P>

(1)文件流沖突。

一般創(chuàng)建文件時(shí)都會(huì)打開一個(gè)供寫入的文件流。而我們希望是追加,所以如果使用了錯(cuò)誤的API ,就有可能引起上述問題。以FileSystem類為例,如果使用create()方法之后再調(diào)用append()方法,就會(huì)拋出上述異常。所以最好使用createNewFile方法,只創(chuàng)建文件,不打開流。

(2)mapreduce推測(cè)執(zhí)行機(jī)制

mapreduce 為了提高效率,會(huì)在一個(gè)任務(wù)啟動(dòng)之后,同時(shí)啟動(dòng)一些相同的任務(wù)(attempt),其中有一個(gè)attempt成功完成之后,視為整個(gè)task完成,其結(jié)果 作為最終結(jié)果,并且殺掉那些較慢的attempt。集群一般會(huì)開啟此選項(xiàng)以優(yōu)化性能(以空間換時(shí)間)。但在本問題環(huán)境下推測(cè)執(zhí)行卻不太合適。因?yàn)槲覀円话阆M粋€(gè)task 用來處理一個(gè)文件,但如果啟動(dòng)推測(cè)執(zhí)行,會(huì)有幾個(gè)attempt同時(shí)試圖操作同一個(gè)文件,就會(huì)引發(fā)異常。所以最好關(guān)掉此選項(xiàng),將 mapred.reduce.max.attempts 設(shè)為1,或者將mapred.reduce.tasks.speculative.execution設(shè)為false.

但此時(shí)仍有可能會(huì)出現(xiàn)問題。因?yàn)槿绻粋€(gè)task的唯一attempt出現(xiàn)問題,在被kill掉之后,task仍會(huì)另起一個(gè)attempt,此時(shí)因?yàn)榍耙粋€(gè)attempt異常終止,仍有可能會(huì)影響到新起的attempt的文件操作,引發(fā)異常。所以最安全的方法是,借鑒推測(cè)執(zhí)行的機(jī)制(每個(gè)attempt各自生成自己的結(jié)果,最終選擇一個(gè)作為最終結(jié)果),以每個(gè)attempt的id號(hào)為后綴附加到所操作的文件上,同時(shí)捕獲所有文件操作的異常并處理,這樣可避免文件的讀寫沖突。Context可以用來獲取運(yùn)行時(shí)的一些上下文信息,可以很容易得到attempt的id號(hào)。注意,此時(shí)如果開啟推測(cè)執(zhí)行也可以,但是會(huì)生成很多相同的文件(每個(gè)attempt一份),仍然不是最好的解決方法。

同時(shí),我們可以利用reduce的輸出來記錄運(yùn)行“不正常的” key.這些task大多數(shù)是attempt_0被殺掉而重啟了一個(gè)attempt_1,所以下面的文件一般為兩份??梢詫?duì)這些情況的key輸出(文件異?;蛘遖ttemptID > 0),并進(jìn)行一些后續(xù)處理,比如文件重命名,或者緊對(duì)這些key重新寫入。因?yàn)榇朔N情況的key一般只占極少數(shù),所以并不影響總體的效率。

2.文件異常處理

最好能將mapreduce中的所有文件操作都設(shè)置好異常處理。不然一個(gè)文件異常就有可能會(huì)使整個(gè)job失敗。所以從效率來講,最好是在文件發(fā)生異常時(shí)將其key作為reduce的輸出以進(jìn)行記錄。因?yàn)橥瑫r(shí)mapreduce會(huì)重啟一個(gè)task attempts重新進(jìn)行文件讀寫,可保證我們得到最終的數(shù)據(jù),最后所需的只是對(duì)那些異常的key進(jìn)行一些簡(jiǎn)單的文件重命名操作即可。

3.多目錄以及文件拼接

如果我們將key的種類設(shè)為1000萬,上述方法會(huì)生成太多的小文件從而影響hdfs的性能,另外,因?yàn)樗形募荚谕粋€(gè)目錄下,會(huì)導(dǎo)致同一個(gè)目錄下文件數(shù)目過多而影響訪問效率。

在創(chuàng)建文件的同時(shí)建立多個(gè)子目錄,一個(gè)有用的方法是以reduce的taskid來建立子目錄。這樣有多少個(gè)reduce就可以建立多少個(gè)子目錄,不會(huì)有文件沖突。同一個(gè)reduce處理的key都會(huì)在同一個(gè)目錄下。

文件拼接要考慮的一個(gè)索引的問題。為了將文件索引建立的盡量簡(jiǎn)單,應(yīng)該盡量保證同一個(gè)key的所有數(shù)據(jù)都在同一個(gè)大文件中。這可以利用key的hashCode來實(shí)現(xiàn)。如果我們想在每個(gè)目錄下建立1000個(gè)文件,只需將hashCode對(duì)1000取余即可。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
尤物在线免费视频| 欧美国产偷国产精品三区| 亚洲男人av在线| 亚洲国产欧美一区二区三区同亚洲| 成人激情在线观看| 91免费看片| 欧美久久免费观看| 国产a视频免费观看| 色噜噜夜夜夜综合网| 亚洲成年网站在线观看| 久久精品久久久久久国产 免费| www婷婷av久久久影片| 国产精品黄页网站在线播放免费| 影音先锋日韩资源| 日韩网站免费观看高清| 亚洲精品一区二区三区不卡| 成视频免费在线看| 校园春色亚洲色图| 午夜精品久久久久久99热| 东方欧美亚洲色图在线| 中文字幕在线观看欧美| 91综合精品国产丝袜长腿久久| 九九热这里只有精品6| 亚洲欧美天堂在线| 日本大片在线观看| 91久久香蕉国产日韩欧美9色| 中文字幕在线播放日韩| 久久久这里只有精品视频| 免费一看一级毛片| 97se亚洲综合在线| 日韩欧美一区二区三区免费观看| 天天插天天操天天干| 91在线高清视频| 免费看黄裸体一级大秀欧美| 国产这里有精品| 3d动漫精品啪啪一区二区竹菊| 日韩久久中文字幕| 国产乱了高清露脸对白| 国产又粗又长又大的视频| 欧美网站在线观看| 午夜国产精品视频免费体验区| 日韩精品一区二区在线观看| 在线视频一区二区三区在线播放| 欧美国产激情一区二区三区蜜月| 五月综合激情网| 九九精品在线| 精品国产一区久久久| 一区二区三区高清在线观看| 999国产精品999久久久久久| xxxx日本黄色| 在线日韩欧美| 日韩在线观看网站| 人人爽久久涩噜噜噜网站| 国产精品污www一区二区三区| 亚洲国产精品一| 国产深喉视频一区二区| 亚洲精品永久免费精品| 99久久99久久精品国产片桃花| 97久久精品一区二区三区的观看方式| 韩国97影院| 国产一区二区三区站长工具| 男人添女人下部高潮视频在观看| 欧美成人精品在线视频| 午夜探花在线观看| 国产精品亚洲综合| 人人妻人人藻人人爽欧美一区| 欧美极品少妇xxxxⅹ裸体艺术| 在线观看国产一区二区| 国产成人av一区| 久久中文欧美| 欧美国产日韩二区| 中文字幕一区二区三区人妻电影| 蜜桃传媒一区二区| 亚洲美女av黄| 久久精品免费在线| 四虎永久在线精品免费一区二区| 亚洲国产综合久久精品小蝴蝶| 91精品国产91久久久久久久久| 欧美疯狂性受xxxxx喷水图片| 成人在线视频电影| 麻豆成人综合网| 先锋影音中文字幕| 日批视频免费观看| 国产精品一色哟哟哟| 国产精品亚洲人成在99www| 亚洲高清免费一级二级三级| 亚洲欧洲日韩av| 黄色小视频在线免费观看| 1区2区在线| 欧美做爰性生交视频| 高潮久久久久久久久久久久久久| 在线国产福利网站| 国产不卡一区二区在线播放| 国产一区二区视频播放| 精品国产一区二区三区四区精华| 亚洲7777| 免费在线观看国产黄| eeuss影院eeuss最新直达| 欧美制服丝袜第一页| 欧美又粗又硬又大久久久| 韩国三级hd中文字幕有哪些| 国产福利精品一区| japonensisjava老师可播放| 777免费视频| 男女18免费网站视频| 亚洲爱爱视频| 99免费看香蕉视频| 国产精品免费成人| 亚洲成人激情视频| 亚洲无线视频| 超薄肉色丝袜一二三| av资源吧首页| 午夜视频在线免费看| 奇米777国产一区国产二区| 亚洲精品午夜国产va久久成人| 黄视频免费在线看| 欧美亚洲视频一区二区| 亚洲欧美国产日韩天堂区| 中文字幕免费高清在线观看| 日韩无码精品一区二区三区| 在线观看成人小视频| 欧美久久免费观看| 成人涩涩小片视频日本| 欧美熟妇另类久久久久久不卡| 精品不卡在线| 熟女人妇 成熟妇女系列视频| aiss精品大尺度系列| 日韩一级片免费| 国产亚洲精品美女久久| 亚洲欧美国产不卡| 婷婷综合福利| 美女做爰内谢全过程视频| 中文娱乐网av| 亚洲一区在线观看免费| 米奇777在线欧美播放| 中文字幕在线视频一区| 欧美激情第一页在线观看| 中文幕无线码中文字蜜桃| 亚洲日本视频在线观看| 欧美三级在线免费观看| 先锋影音一区二区三区| 亚洲一区二区三区色| 国产精品美女久久福利网站| 国产三级三级在线观看| 久久这里只精品最新地址| 六月婷婷久久| 被陌生人带去卫生间啪到腿软| 夜夜操天天操亚洲| 3344国产精品免费看| 亚洲欧美偷拍另类a∨色屁股| 日韩在线一区二区| 九色视频在线观看免费| 日本午夜精品视频在线观看| 麻豆精品新av中文字幕| 国产美女扒开尿口久久久| 欧美日本在线看| 亚洲国产精品成人久久蜜臀| 99成人精品视频| 亚洲欧美日韩区| av资源在线看| 中文字幕在线日亚洲9| 中文字幕第22页| 欧美午夜精品一区二区三区| 亚洲综合极品香蕉久久网| 91久久国产婷婷一区二区| 大香煮伊手机一区| 欧美一区二区三区四区久久| 中文天堂在线一区| 久久本道综合色狠狠五月| 欧美中文字幕视频在线观看| 国产欧美久久久精品影院| 久久99999| 欧美性受xxxx黑人xyx| 国产一区二区久久久| 亚洲欧美偷拍一区| 国产中文在线| 高清国产一区二区三区四区五区| 91精品福利| 亚洲丝袜精品丝袜在线| 九九热视频免费| 成人av国产| 色内内免费视频播放| 成人黄色a级片| 盗摄系列偷拍视频精品tp| 久久无码精品丰满人妻| 国产裸体写真av一区二区| h片在线观看网站| 精品大片一区二区| 四虎a级欧美在线观看| 日本成人中文字幕在线| 婷婷激情综合五月天| 日韩视频精品| 一二三四区在线观看| 欧美久久一区二区三区| 欧美亚洲视频一区二区| 天美星空大象mv在线观看视频| 天海翼视频在线观看| 欧美性猛交xxx乱久交| 韩国一区二区在线观看| 免费久久精品视频| 国产一区二区三区四区五区加勒比| 日韩精品久久理论片| 蜜桃麻豆www久久国产精品| 色老头一区二区三区在线观看| 美女视频a黄免费| 精品麻豆视频| www.99re6| 中文字幕视频一区二区| 巨胸喷奶水www久久久| 狠狠色狠狠色综合人人| 91麻豆精品久久久久蜜臀| 久久在线免费观看视频| 国产一级成人av| 国产精品女同一区二区| 欧美成人精品一区二区男人看| 日本一级理论片在线大全| 欧美色老头old∨ideo| 国产一区二区在线观看免费视频| 校园春色亚洲| 色啦啦av综合| 久久天堂久久| 91久久国产综合久久91精品网站| 男女啪啪在线观看| 亚洲春色一区二区三区| 国产suv一区二区三区| 懂色av一区二区夜夜嗨| 99re6热在线精品视频播放速度| 久久精品国产99国产精品澳门| 久久这里只有精品免费| xx欧美撒尿嘘撒尿xx| 一二三四在线观看视频韩国| 国产精品视频看看| 国产精品亚洲精品| 国产成人精品免费视频大全最热| 奇米四色7777| 国产又色又爽又高潮免费| 涩爱av色老久久精品偷偷鲁| 欧美成人性网| 亚洲精品美女视频| 99热在线观看免费精品| 丁香桃色午夜亚洲一区二区三区| 一区二区视频在线观看免费的| 老司机午夜在线视频| 亚洲7777| 日韩欧美中文一区二区| 天天综合网天天综合色| 欧洲亚洲精品| 日本中文字幕一级片| 日韩你懂的在线播放| 日本大香伊一区二区三区| 99热手机在线观看| 欧美三级中文字| 欧美在线观看在线观看| 亚洲一区二区三区乱码| 亚洲一区二区三区香蕉| 99亚洲精品视频| 97人妻一区二区精品视频| 亚洲日本精品一区| 国产伦一区二区三区| 精品视频123区在线观看| 精品一区二区三区的国产在线播放| 亚洲欧洲成人精品av97| 免费黄视频在线观看| 国产日韩欧美综合精品| 网站永久看片免费| wwwwww日本| 好色视频app| 精品日韩欧美在线| 91传媒视频在线观看| 亚洲国产av一区二区三区| 97视频资源在线观看| 日本天堂网在线| jizzjizzjizz亚洲| 亚洲精品久久久久久无码色欲四季| 大桥未久女教师av一区二区| 中文字幕一区三区久久女搜查官| 成年人网站免费在线观看| 免费在线观看视频a| 五月天黄色网址| 亚洲激情六月丁香| 波多野结衣乳巨码无在线观看| 久久精品嫩草影院| ww亚洲ww在线观看国产| 男人精品网站一区二区三区| 色综合久久88色综合天天6| 中文字幕日韩欧美精品高清在线| 国产调教在线观看| 久久久久久久久久久综合| 欧美 日韩 中文字幕| 欧美色精品天天在线观看视频| 欧美三区免费完整视频在线观看| 日韩精品中文字幕在线| 一区二区三区视频| 欧美日本高清视频在线观看| 亚洲黑人在线| 国产1区二区| 男男做性免费视频网| 在线播放精品视频| 欧美日韩蜜桃| 校园春色亚洲色图| 成人午夜在线影视| 日韩精品av| 国产免费av在线| 国偷自产视频一区二区久| 欧美日韩国产v| 久久国产综合精品| 欧美最新大片在线看| 亚洲一区美女视频在线观看免费| 午夜精品一区二区三区在线观看| 精品夜夜嗨av一区二区三区| 97在线视频免费观看完整版| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 日韩高清二区| 中文欧美日本在线资源| a天堂资源在线观看| 9999在线精品视频| 17c国产在线| 天堂在线资源库| 青娱在线视频| 中国人与牲禽动交精品| 免费日韩av| 一区二区在线中文字幕电影视频| 日日干天夜夜| caopeng在线| 日本久久精品| 99久久久无码国产精品性| 日本欧美在线视频免费观看| 香蕉成人在线|