Spark 遇到中文乱码问题如何解决?
问题原因:
一般是spark平台机器环境编码设置问题解决方法:
在spark-default中为executor加上-Dfile.encoding=UTF-8
spark/conf/spark-defaults.conf1
spark.executor.extraJavaOptions -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:ParallelGCThreads=4 -XX:NewRatio=3 -XX:SurvivorRatio=3 -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Dfile.encoding=UTF-8
在所有涉及到字节转换时,一定要指定编码方式
1
2
3
4
5String -> Byte:
string.getBytes("UTF-8")
Byte -> String:
new String(bytes, "UTF-8")