亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

十四、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

兴安县| 湟源县| 女性| 当阳市| 鲁甸县| 苗栗县| 图们市| 行唐县| 兴城市| 东港市| 和顺县| 历史| 阿巴嘎旗| 新河县| 阳城县| 河东区| 夏河县| 丽江市| 聊城市| 赤城县| 阜康市| 霞浦县| 石林| 永福县| 通辽市| 紫金县| 新和县| 溧阳市| 吴川市| 临泽县| 彭水| 乡宁县| 鸡泽县| 邵武市| 屏南县| 县级市| 洛扎县| 绿春县| 大理市| 陆良县| 桂林市|