91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

十四、MapReduce--OutputFormat和RecordWriter抽象類

發布時間:2020-08-02 17:22:32 來源:網絡 閱讀:415 作者:隔壁小白 欄目:大數據

一、基本原理

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

1、OutputFormat

public abstract class OutputFormat<K, V> {
    public OutputFormat() {
    }

public abstract RecordWriter<K, V> getRecordWriter(TaskAttemptContext var1) throws IOException, InterruptedException;

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

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

其實主要就是創建RecordWriter對象。

2、RecordWriter

public abstract class RecordWriter<K, V> {
    public RecordWriter() {
    }

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

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

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

二、常用的OutputFormat實現類

1、TextOutputFormat

? 繼承 FileOutputFormat,返回的RecordWriter是TextOutputFormat.LineRecordWriter。將每個KV轉換為文本的每一行。可以定義key和value在文本中的分隔符,默認是“\t”。

2、SequenceFileOutputFormat

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渭源县| 顺义区| 康马县| 岚皋县| 方山县| 绵阳市| 博客| 桃源县| 五家渠市| 宁阳县| 鹤峰县| 昌黎县| 长宁区| 阿拉善右旗| 全州县| 桓台县| 平度市| 锦州市| 丹阳市| 肃北| 祁东县| 北安市| 泊头市| 札达县| 尚志市| 阳春市| 廊坊市| 赤壁市| 大石桥市| 都匀市| 新津县| 平遥县| 高邮市| 杭州市| 赤壁市| 晴隆县| 沙湾县| 乌苏市| 定兴县| 台中县| 汽车|