Spark读取日志文件集中文乱码解决方法

Spark读取日志中文乱码解决方法

问题展示

一般来说,这个问题多出现于GBK与UTF-8编码互相转换时。众所周知,GBK编码是windows系统的编码格式,而UTF-8是linux系统的编码格式,而且Git等开源软件也都使用UTF-8编码,所以简单了解这种编码问题就是一件十分必要的事情。

乱码切入

“????”

“锟斤拷”

“手持两把锟斤拷,口中疾呼烫烫烫,脚踏千朵屯屯屯,笑看万物锘锘锘”

先来段梗,娱乐一下,给出百科的解释,给各位科普一下

image-20211130171715020

由于函数只能固定使用UTF-8编码格式读取文件,然后读到的结果在终端中展示为 “????”或者就是 “锟斤拷”这个样子 ,这也是“手持两把锟斤拷,口中疾呼烫烫烫;脚踏千朵屯屯屯,笑看万物锘锘锘” 这个编码梗的由来。

解决问题

既然使用大数据计算框架遇到问题,就应该用大数据本身的框架来解决问题

先调用 hadoopFile()来读取文件,然后将读到的RDD map(映射)成一个使用GBK编码新生成的字符串传导出去,调用map(p -> new String(p._2.getBytes(), 0, p._2.getLength(), “GBK”)),即可解决问题。

image-20211130172355942

了解更多知识请戳下:

@Author:懒羊羊

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92447 人正在系统学习中

来源:会撸代码的懒羊羊

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月26日
下一篇 2021年10月26日

相关推荐