最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
十四、MapReduce--OutputFormat和RecordWriter抽象類

一、基本原理

? reduce執(zhí)行完畢之后,每個(gè)reduce都會(huì)將KV輸出到一個(gè)文件中。那么KV輸出到文件中時(shí)是以什么格式輸出的呢?這就涉及到兩個(gè)抽象類:OutputFormat和RecordWriter。

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

1、OutputFormat

public abstract class OutputFormat {
    public OutputFormat() {
    }

public abstract RecordWriter getRecordWriter(TaskAttemptContext var1) throws IOException, InterruptedException;

    public abstract void checkOutputSpecs(JobContext var1) throws IOException, InterruptedException;

    public abstract OutputCommitter getOutputCommitter(TaskAttemptContext var1) throws IOException, InterruptedException;
}

其實(shí)主要就是創(chuàng)建RecordWriter對(duì)象。

2、RecordWriter

public abstract class RecordWriter {
    public RecordWriter() {
    }

    //將KV寫入到輸出流
    public abstract void write(K var1, V var2) throws IOException, InterruptedException;

    //關(guān)閉流
    public abstract void close(TaskAttemptContext var1) throws IOException, InterruptedException;
}

主要就是write方法,將KV寫入到文件中。

二、常用的OutputFormat實(shí)現(xiàn)類

1、TextOutputFormat

? 繼承 FileOutputFormat,返回的RecordWriter是TextOutputFormat.LineRecordWriter。將每個(gè)KV轉(zhuǎn)換為文本的每一行??梢远xkey和value在文本中的分隔符,默認(rèn)是“\t”。

2、SequenceFileOutputFormat

? 同樣繼承于FileOutputFormat,返回的RecordWriter是一個(gè)匿名內(nèi)部類,直接將所有的KV以追加的方式寫入到文本中,不另外分行(除非原先數(shù)據(jù)中帶有換行)。
? SequenceFileOutputFormat將它的輸出寫為一個(gè)順序文件。如果輸出需要作為后續(xù) MapReduce任務(wù)的輸入,這便是一種好的輸出格式,因?yàn)樗母袷骄o湊,很容易被壓縮。


新聞名稱:十四、MapReduce--OutputFormat和RecordWriter抽象類
文章來(lái)源:http://fisionsoft.com.cn/article/ggssic.html