1、首先要知道源数倌栗受绽据是什么中文编码,如果编码不是utf-8的话,用默认的方法读取:spark.read.option("茑霁酌绡header","true").csv(path)spark.read.textFile(path)就会有中文乱码。
2、运行IntelliJ IDEA,创建好相关的工程
3、要了解中文乱码的原因,这是原因上面的方法默认用TextInputFormat,而在TextInputFormat中把编码写死为UTF_8
4、读取文本文件的,我们可以spark.sparkContext.hadoopFile的方法中,对字符串的编码进行转换
5、如果不知道中文编码,可以遍历使用"GBK"、“GB2312"等可能的中文编码,直到输出结果没中文乱码为止
6、如果是读取CSV文件的,也是要用hadoopFile这个低层的方法,先进行中文编码转化,再封装好StructField等的类型