今天写了一个小MapReduce的程序,跑在集群上一切正常,但是当我查看运行结果时却发现了bug,结果中的中文文字竟然是乱码;我就开始了我的找错之路。。。。
首先看看HDFS上我要用的文件本身内容有没有问题--------->运气好,一下就 查出来了,原来文件本身在上传过程中就乱码了。。。。
1)我开始重新上传,但是每一次上传的文件都是中文乱码;我开始用上传的文件是在虚拟机上的本地文件,(这个原始文件无损坏,无乱码)
---》hadoop fs -put /filepath/filename /hdfspath/
2) 但是还是有问题,我又自己写了一下上传文件的代码,从windows本地上传到HDFS;发现代码一毫毫问题都没有,好了问题归结到了文件本身了;;;;;
这时我开始怀疑我的编码格式有问题,所以我先将MR数据的程序在Eclipse中的编码格式换成UTF-8的;
方法我博客里有,这里不冗余介绍:http://blog.csdn.net/anneqiqi/article/details/51789768
然后我将文件的编码格式也换成UTF-8,然后再一运行妥了!!!!
处理前:
处理后: