hadoop读取GBK编码文件,中文乱码问题求助
发布网友
发布时间:2022-05-09 23:14
我来回答
共1个回答
热心网友
时间:2023-10-05 14:50
1、hadoop内部默认的文本读取编码设置为utf-8,你的源文件为gbk,在读取时遇到中文时是肯定要出现乱码。
解决方法有二:
(1)将你的GBK编码的文件在生成时,统一成utf-8,这是最好的方式,方便国际化。
(2)重写一个你的hadoop读文件的FileInputFormat对象,在其中进行传相应的编码值与编码转换的工作,这个是比较麻烦,实际当中用得很少。
再思考下。追问好的,看来GBK转UTF-8后再处理是最好的方案了。
本身HIVE输出的文件就是UTF-8的,为了节约硬盘转成GBK了,所以HADOOP处理的时候,最好还是再转成UTF-8。。。
追答恩,是的,统一转变为UTF-8是主流的解决方法,试下看吧。