一、广播变量(broadcast variable)
广播变量:允许开发者将一个只读变量(Driver端)缓存到每个节点(Executor)上,而不是每个任务传递一个副本
图解:

定义广播变量
val arr = Array("java","scala","spark")
val broadcast = sc.broadcast(arr)
注意:变量一旦被定义为一个广播变量,那么这个变量只能读,不能修改
访问广播变量方式
val c = broadcast.value
案例:
object BroadcastDemo {
def main(args: Array[String]): Unit = {
val conf =

本文深入探讨SparkRDD中的两种共享变量——广播变量和累加器。广播变量提供了一种高效的方式,将只读变量从Driver端一次性发送到所有Executor,避免了每个任务重复传递副本。而累加器则是用于累计操作的特殊变量,仅支持add操作,适用于计数等场景。文章详细阐述了它们的定义、使用方法及注意事项。
最低0.47元/天 解锁文章
895

被折叠的 条评论
为什么被折叠?



