Spark RDD中的数据所属类型为什么要序列化?

               Spark中,算子的执行都是在Executor端执行的,其他的操作都在Driver端完成(比如数据的加载),数据要从Driver端发送到Executor端,会发生跨线程或者跨节点的传输,所以要对数据所属类型做序列化操作。

如何判断是否实现了序列化?
               在作业提交之前,会有一段代码:
在这里插入图片描述

val cleanF = sc.clean(f)用于进行闭包检查,之所以叫闭包检查,是因为内部函数访问了外部函数的变量,这是闭包才有的。
继续跟踪上面的代码:
在这里插入图片描述
               可以看到在clean函数中,会传入checkSeriablizable=true的参数,代表检查是否序列化。

猜你喜欢

转载自blog.csdn.net/FlatTiger/article/details/115075583