MapReduce基础开发context.write注意new text()多出一列的问题
生活随笔
收集整理的這篇文章主要介紹了
MapReduce基础开发context.write注意new text()多出一列的问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、問題描述:在MapReduce中代碼中,Map輸出context.write(okey,new text("")),Reduce也是context.write(okey,new text(""))輸出;
? ? ? ?查詢字符長度,發(fā)現(xiàn)多了一位,如果用|字符隔開,發(fā)現(xiàn)最后一個字段會多出一位。
2、查核發(fā)現(xiàn),new Text("")會增加一個空列(列分隔符是\t),導(dǎo)致多出一個隱形字符的長度;
? ? ???注意如果輸出context.write(oKey,oValue),就是key和value都帶字符,在key和value中間也會有一個空格字符存在。
3、處理:在Reduce輸出時用null替代new text(""),如context.write(oKey,null),注意Map中不能有null,如context.write(oKey,null),這樣在傳遞給reduce時會出現(xiàn)空值錯誤。
? ? ?
總結(jié)
以上是生活随笔為你收集整理的MapReduce基础开发context.write注意new text()多出一列的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MapReduce基础开发之九JDBC连
- 下一篇: 最长公共子序列Java代码实现