企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**广播变量:** 允许开发者将一个只读变量(Driver端)缓存到每个节点(Executor)上,而不是每个任务(Task)传递一个副本。 ![](https://img.kancloud.cn/b5/8e/b58e0aa87030dfaf57897e3958682c83_941x447.png) 如上图,将count变量上传到Executor端(黄线所示),当Task需要调用count变量时,到Executor端口获取即可,不需要将count传递到每个Task(红线所示),这样就减少了数据的移动次数。 ```scala val broadcastVar=sc.broadcast(Array(1,2,3)) //定义广播变量 broadcastVar.value //访问方式 ``` **注意事项:** (1)Driver端普通变量在每个Executor的每个Task保存一个变量副本。 (2)Driver端广播变量在每个Executor只保存一个变量副本。