[Spark经验一]Spark RDD计算使用的函数里尽量不要使用全局变量

Posted 代立冬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Spark经验一]Spark RDD计算使用的函数里尽量不要使用全局变量相关的知识,希望对你有一定的参考价值。

     比如RDD里的计算调用了别的组件类里的方法(比如hbase里的put方法),那么序列化时,会将该方法所属的对象的所有变量都序列化的,可能有些根本没有实现序列化导致直接报错。也就是spark的api没有做到用户无感知,在使用一些全局方法时还需自己控制。简单点的做法就是:能定义在计算函数内的方法就定义在里面。

以上是关于[Spark经验一]Spark RDD计算使用的函数里尽量不要使用全局变量的主要内容,如果未能解决你的问题,请参考以下文章

Spark之RDD算子-转换算子

Spark- RDD持久化

原创经验分享(19)Spark中Join实现原理

Spark 使用哪个内存部分来计算不会被持久化的 RDD

spark调优:RDD重构和持久化

Spark RDD算子案例:两种方式计算学生总分