本文主要是介绍spark master开发中org.apache.spark.serializer.JavaDeserializationStream错误解决,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在spark开发过程中,一直想在程序中进行master的开发,如下代码:
val conf = new SparkConf().setMaster("spark://hostname:7077").setAppName("Spark Pi")
但是直接进行此项操作,老是碰到org.apache.spark.serializer.JavaDeserializationStream错误,找了很多资料,有各种各样的解决办法,看过代码后也尝试过用kryo来进行序列化,倒是没有报错,但就一直没有结果。因此肯定此项思路不通。
于是终于费劲地找到原因如下: 报错的意思应该是没有将jar包提交到spark的worker上面 导致运行的worker找不到被调用的类,才会报上述错误,因此设置个JAR,果然搞定。
val conf = new SparkConf().setMaster("spark://ubuntu-bigdata-5:7077").setAppName("Spark Pi")
.setJars(List("/home/ndscbigdata/simpleSparkApp.jar"))
通过此次调试,才明白后续调试可以先在local模式下进行解决,之后再生成JAR,采用编程模式运行。
更多交流学习:欢迎email: sparkexpert@sina.com
这篇关于spark master开发中org.apache.spark.serializer.JavaDeserializationStream错误解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!