MapReduce程序处理hdfs中数据乱码问题

最近在写MapReduce程序,实现Writable接口时发现总是读不进中文字,读出来全是乱码,找了一晚上发现问题,原来hadoop只支持UTF-8的字符集,因此,在存储Text变量时要先把string变量转换成UTF-8的字符集,再给Text赋值。问题解决。

hadoop只支持UTF-8字符集,所以需要将字符串String转化成utf-8再给Text赋值。另外你的上传到hdfs的文档也要是utf-8的否则即使使用此解决方法也会出错。

String str = new String(“字符串”.getBytes(),’UTF-8′);

new Text().set(str)

    原文作者:道路修建问题
    原文地址: https://blog.csdn.net/qzlzwhx/article/details/38231847
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞