Spark Streaming 处理中文异常的解决方案

原创 2016年10月13日 23:42:42

    最近用Spark Streaming从Kafka接数据进行处理,是对中文的内容进行计算。发现处理时中文全变成了????????的形式,导致处理的结果和预期的不一样。但把数据放在redis或者放入下游的kafka topic,中文又正常了。为了防止是因为打日志的编码问题导致的判断出错,专门对算法进行了判断,的确就是对?????的东西处理了,而不是原中文字符串。

    遇到这种情况,想到的就是编码问题,因为在在本地运行spark streaming是可以处理中文的,放到集群上就不行了,在程序中输出

        Charset.defaultCharset()   或者   System.getProperty("file.encoding") 可以查看程序运行时环境的编码

    进行对比,发现本地的是Utf-8,是理想的。而提交到集群上的任务,输出为ISO-8859-1,直接导致了程序运行时处理的中文都变成了?????

    解决方案是修改一下提交spark任务的客户端配置(提交该任务的机器,不是去修改集群),找到spark-env.sh比如/etc/spark/conf/spark-env.sh,设置

         export SPARK_JAVA_OPTS=" -Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8 "

    再次提交任务后,发现中文可以正常的处理了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Spark Streaming实践和优化

在流式计算领域,Spark Streaming和Storm时下应用最广泛的两个计算引擎。其中,Spark Streaming是Spark生态系统中的重要组成部分,在实现上复用Spark计算引擎。如图1...

整合Kafka到Spark Streaming——代码示例和挑战

原文:http://blog.csdn.net/stark_summer/article/details/44038247 作者Michael G. Noll是瑞士的一位工程师和...

解密SparkStreaming另类实验及SparkStreaming本质解析(第一篇)

本期亮点: 通过SparkStreaming在线另类实验瞬间理解SparkStreaming运行本质 SparkStreaming背景介绍 当今社会处于一个大数据的时代,而SparkS...

spark streaming 读取网络数据

package youling.studio.streaming import org.apache.spark.streaming.{Seconds,StreamingContext} impor...

在使用Spark Streaming向HDFS中保存数据时,文件内容会被覆盖掉的解决方案

我的Spark Streaming代码如下所示: 全选复制放进笔记val lines=FlumeUtils.createStream(ssc,"hdp2.domain",22222,StorageL...

Sublime Text 中文标题异常但是内容正常解决方案

Sublime Text ,文件名含有中文字符的文件的时候,中文文件名和路径变成了一些框,但是文件内容里面的中文汉字却能够正常显示的解决方案,附详细流程...
  • G_Youda
  • G_Youda
  • 2016年12月02日 18:28
  • 721

异常处理的解决方案

  • 2012年04月27日 10:22
  • 239KB
  • 下载

spark解决方案系列--------1.spark-streaming实时Join存储在HDFS大量数据的解决方案

spark-streaming实时接收数据并处理。一个非常广泛的需求是spark-streaming实时接收的数据需要跟保存在HDFS上的大量数据进行Join。要实现这个需求保证实时性需要解决以下几个...

spark streaming kafka OffsetOutOfRangeException 异常分析与解决

job中使用Kafka DirectStream 读取topic中数据,然后做处理。其中有个测试job,停止了几天,再次启动时爆出了**kafka.common.OffsetOutOfRangeExc...

开发常见的编码异常解决方案

  • 2017年06月12日 14:24
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark Streaming 处理中文异常的解决方案
举报原因:
原因补充:

(最多只允许输入30个字)