问题原因:
所生成的任务对象需要序列化,以便的不同的节点进行传输,保证数据的正确性。
下面是一个解决方案,可以根据下面原理解决自己的问题。
解决方案:
Scala的object和class需要实现接口 Serializable
/**
* constructor the object
*/
objectLewa_device_report extends Serializable {}
/**
* @author Administrator
* filepath : String
* originalfileRDD : org.apache.spark.rdd.RDD[StringBuffer]
* sqlcontext :org.apache.spark.sql.SQLContext
*/
class Lewa_device_report( var filepath:String, val sparkcontext:org.apache.spark.SparkContext,val sqlcontext:org.apache.spark.sql.SQLContext)extends Serializable{}
查看一下API文档 关于SparkContext
关于SQLconntext
问题出在了SparkContext上,该类没有序列化 解决:转换思路,传递的参数不要包含SparkContext 参数
|