Spark中的共享变量---广播变量和累加器

一.广播变量和累加器的作用
累加器(集群规模之间的大变量):做Spark的全局统计使用
广播变量(集群规模间的大常量):在每一台机器上缓存一个只读的变量,而不是每个任务一份拷贝。利用更有效率的广播算法分配广播变量可以减小通信成本。

二.广播变量和累加器使用注意事项
广播变量
1.在Driver端定义
2.在Executor端只能读取不能修改
3.广播变量的值只能在Driver端修改
累加器
1.累加器只能在Driver端定义
2.累加器的值在Executor端不能读取,但是在Executor端可以操作累加器
3.累加器的值只能在Driver端读取

如何将RDD中广播变量传播出去?
需要对RDD调用collect算子 每一个task的计算结果会拉回到Driver端

你可能感兴趣的:(Spark中的共享变量---广播变量和累加器)