1. 程式人生 > >mapreduce 自定義key/value 輸出分隔符

mapreduce 自定義key/value 輸出分隔符

mapreduce 預設情況下 key/value 分隔符為:“\t”
測試的輸出如下:


我們可以在程式碼中進行設定來自定義 key/value 輸出分隔符:在程式碼中新增如下一行程式碼:

conf.set("mapred.textoutputformat.separator", ";"); //此處以”;“作為分割符,後邊介紹為什麼這麼修改


修改程式碼後,測試修改結果:


修改原因:
我們checkout   hadoop-1.2.1版本
開啟檔案:TextOutputFormat.java


我們可以看到如下一行程式碼:
    String keyValueSeparator= conf.get("mapred.textoutputformat.separator",
                                       "\t");
   程式碼的意思是:讀取設定的key/value輸出分隔符,如果沒有讀取到,預設使用 "\t"
   所以我們就在任務執行前設定名稱為:mapred.textoutputformat.separator 的自定義值 即可