SPARK java.io.NotSerializableException 异常处理
来源:互联网 发布:合肥飞友网络怎么样 编辑:程序博客网 时间:2024/05/22 13:50
最近一直在写spark 相关的项目, 但是以前从没有接触过spark 相关的东西, 只能是边学边用。
后面准备在 这里记录 在学习、使用spark过程中,遇到的问题
今天要记录的问题是: 使用 spark alone 运行模式下, 进场遇到的问题—— java.io.NotSerializableException
1、在哪几种情况下, 会发生这个问题
(1)类、方法 没有被序列化 类没有被序列化, 代码如下:
class GetData { def init(): Unit = { val rdd = sc.textfile(.....) val local = rdd.map(.....) }}object test { val s = new GetData() s.init()}
这种情况下, 就会出现 NotSerializableException 异常, 因为在 scala 中, 类是不会自动序列化, 所以需要这样改: class GetData extends java.io.Serializable {…..}
(2) 方法没有被序列化在 scala 中, 尽管 函数(方法)会自动序列化, 但是在下面那种情况, 是不会自动序列化的
val local = rdd.map(theRow => { theRow.getString(0) })
上面, 这种情况,scala 就不会自动 序列化, 需要修改为
val local = rdd.map(transfrom)def transfrom(theRow: org.apache.spark.sql.Row): String = { theRow.getString(0)}
(3)、传入的参数有 SparkContext
这种情况下, 会出现着这种异常: java.io.NotSerializableException: org.apache.spark.SparkContext
原因是: SparkContext, 是不能被序列话的
所以, 这种情况下, 是不能把 SparkContext 当成参数, 进行传递的
2、 org.apache.spark.SparkException: Only one SparkContext may be running in this JVM
产生这种情况的原因是: 在同一个 driver(同一次 函数调用 或者 同一个main中) 定义了两个 sparkContext
这是不允许的, 只能定义一个 sparkContext
0 0
- SPARK java.io.NotSerializableException 异常处理
- spark<java.io.NotSerializableException>
- Spark学习-SparkSQL--06-spark读取HBase数据报异常java.io.NotSerializableException
- Redis on spark java.io.NotSerializableException
- EJB java.io.NotSerializableException 异常解决方法
- android java.io.NotSerializableException序列化异常
- log4j java.io.NotSerializableException 异常的解决
- Caused by: java.io.NotSerializableException: org.apache.spark.SparkContext
- storm java.lang.RuntimeException: java.io.NotSerializableException: 异常
- java.io.NotSerializableException翻译
- java.io.NotSerializableException 解决办法
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException.
- java.io.NotSerializableException
- java.io.NotSerializableException
- java.io.NotSerializableException
- 关于tomcat下java.io.NotSerializableException异常的解决方法
- uva12558 (迭代加深搜索)
- mysql千万级大数据SQL查询优化
- gflod求基因表达值 FPKM
- hdu 5742(水)
- 约瑟夫环问题编程实现
- SPARK java.io.NotSerializableException 异常处理
- 75道程序员面试逻辑测试题内含答案
- volley乱码
- python的web服务器模块
- 开发中遇到的新东西 — @try @catch @finally
- 把我们的姿态放低
- 关于selenium
- 题目216 A problem is easy
- css 过度