真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Hadoop輸入和輸出的處理類有哪些

這篇文章主要介紹了Hadoop輸入和輸出的處理類有哪些,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

目前創(chuàng)新互聯(lián)公司已為千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、成都網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計、贊皇網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

hadoop輸入的處理類

                    InputFormat

                                    InputFormat負(fù)責(zé)處理MR的輸入部分。

                                    作用:

                                            1、驗證作業(yè)的輸入是否規(guī)范。

                                            2、把輸入文件切分成InputSplit。

                                            3、提供RecordReader的實現(xiàn)類,把InputSplit讀到Mapper中進(jìn)行處理。

                    FileInputFormat

                                    FileInputFormat是所有以文件作為數(shù)據(jù)源的InputFormat實現(xiàn)的基類,F(xiàn)ileInputFormat保存為Job輸入的所有文件,并實現(xiàn)了對輸入文件計算splits的方法。至于獲得記錄的方法是由不同的子類---TextInputFormat進(jìn)行實現(xiàn)的。

                    TextInputFormat

                                    默認(rèn)的處理類,處理普通文本文件。

                                    文件中每一行作為一個記錄,他將每一行在文件中的起始偏移量作為key,每一行的內(nèi)容作為value,默認(rèn)以\n或回車鍵作為一行記錄。

                                    注意:TextInputFormat集成了FileInputFormat。

                    InputSplit

                                    在執(zhí)行MapReduce之前,原始數(shù)據(jù)被分割成若干Split,每個Split作為一個Map任務(wù)的輸入,在Map執(zhí)行過程中Split會被分解成一個個記錄(key-value鍵值對),Map會依次處理每一個記錄。

                                    Hadoop將MapReduce的輸入數(shù)據(jù)劃分成等長的小數(shù)據(jù)塊,稱為輸入分片(InputSplit)或簡稱分片。

                                    Hadoop為每個分片構(gòu)建一個Map任務(wù),并由該任務(wù)來運(yùn)行用戶自定義的Map函數(shù)從而處理分片中的每條記錄。

                                    Hadoop在存儲有輸入數(shù)據(jù)(HDFS中的數(shù)據(jù))的節(jié)點(diǎn)運(yùn)行Map任務(wù),可以獲得最佳性能。這就是所謂的數(shù)據(jù)本地化優(yōu)化。

                                    最佳分片的大小應(yīng)該與塊大小相同:

                                            因為它是確??梢源鎯υ趩蝹€節(jié)點(diǎn)上的最大輸入塊的大小。如果分片跨越2個數(shù)據(jù)塊,那么對于任何一個HDFS節(jié)點(diǎn),基本上都不可能同時存儲著2個數(shù)據(jù)塊,因此分片中的部分?jǐn)?shù)據(jù)需要通過網(wǎng)絡(luò)傳輸?shù)組ap任務(wù)節(jié)點(diǎn),。與使用本地數(shù)據(jù)運(yùn)行整個Map任務(wù)相比,這種方法顯然效率更低。

                    其他輸入類

                                    CombineFileInputFormat

                                                相對于大量的小文件來說,Hadoop更合適處理少量的大文件。

                                                CombineFileInputFormat可以緩解這個問題,它是針對小文件而設(shè)計的。

                                    KeyValueTextInputFormat

                                                當(dāng)輸入數(shù)據(jù)的每一行是兩列,并用Tab分離的形式的時候,KeyValueTextInputFormat處理這種格式的文件非常適合。

                                    NlineInputFormat

                                                可以控制在每個Split中數(shù)據(jù)的行數(shù)。

                                    SequenceFileInputFormat

                                                當(dāng)輸入文件格式是SequenceFile的時候,要使用SequenceFileInputFormat作為輸入。

                    自定義輸入格式

                                    1、集成FileInputFormat基類;

                                    2、重寫getSplits(JobContext context)方法;

                                    3、重寫createRecordReader(InputSplit split,TaskAttemptContext context)方法;

Hadoop輸出的處理類

                     TextOutputFormat

                            默認(rèn)的輸出格式,key和value中間值用Tab隔開的。

                    SequenceFileOutputFormat

                            將key和value以sequence格式輸出。

                    SequenceFileAsOutputFormat

                            將key和value以原始二進(jìn)制的格式輸出。

                    MapFileOutputFormat

                            將key和value寫入MapFile中,由于MapFile中的key是有序的,所以寫入的時候必須保證記錄是按Key值順序?qū)懭氲摹?/p>

                    MultipleOutputFormat

                            默認(rèn)情況下一個Reduce會產(chǎn)生一個輸出,但是有些時候我們想一個Reduce產(chǎn)生多個輸出,MultipleOutputFormat和MultipleOutputs可以實現(xiàn)這個功能。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Hadoop輸入和輸出的處理類有哪些”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!


文章題目:Hadoop輸入和輸出的處理類有哪些
轉(zhuǎn)載注明:http://weahome.cn/article/jpoeod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部