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

来源:互联网 发布:创建网络ftp平台 编辑:程序博客网 时间:2024/06/05 05:31

最近在写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)

0 0