1.OutputFormat接口實作類
OutputFormat是MapReduce輸出的基類,所有實作MapReduce輸出都實作了 OutputFormat接口。下面我們介紹幾種常見的OutputFormat實作類。
(1).文本輸出TextOutputFormat
預設的輸出格式是TextOutputFormat,它把每條記錄寫為文本行。它的鍵和值可以是任意類型,因為TextOutputFormat調用toString()方法把它們轉換為字元串。
(2).SequenceFileOutputFormat
SequenceFileOutputFormat将它的輸出寫為一個順序檔案。如果輸出需要作為後續 MapReduce任務的輸入,這便是一種好的輸出格式,因為它的格式緊湊,很容易被壓縮。
(3).自定義OutputFormat
根據使用者需求,自定義實作輸出。
2.自定義OutputFormat
為了實作控制最終檔案的輸出路徑,可以自定義OutputFormat。
要在一個mapreduce程式中根據資料的不同輸出兩類結果到不同目錄,這類靈活的輸出需求可以通過自定義outputformat來實作。
(1).自定義OutputFormat步驟
(a)自定義一個類繼承FileOutputFormat。
(b)改寫recordwriter,具體改寫輸出資料的方法write()。