spark-shell 显示乱码

用spark shell 进入console环境

查看字符集

scala> System.getProperty("file.encoding")
res5: String = ISO-8859-1

修改字符集为UTF-8

scala> System.setProperty("file.encoding","UTF-8")
res4: String = ISO-8859-1  // 这里返回的结果显示非utf-8 ,但是再用上面查看的命令发现,其实已经设置成功。

到此我的问题,其实并没解决。

情况依旧。

然后发现文件在hdfs上以OrcOutputFormat格式存储,所以显示乱码。

需要引入解码类

scala> textFile.first()
res7: String = ORC ???b?b?????Em????????d??! ?.o%U.~?T ???0M5MK?L5??W0??K????9???�{
ke9??8?????

  scala> import org.apache.spark.sql.hive.orc._
  import org.apache.spark.sql.hive.orc._

 //以上操作后,问题解决。

原文地址:https://www.cnblogs.com/parkin/p/7879221.html