Spark 外部变量和BroadCast变量的区别

spark里面算子里面使用外部变量和BroadCast变量的区别:

1、如果在算子里面使用外部变量,spark会将外部变量复制多个副本,通过网络传输到每一个task里面去(也就是说,此时的外部变量是task级别的)

2、BroadCast变量,使用spark的广播功能进行广播,广播之后保障每个executor里面只驻留一份变量,而同一个Executor中的task共享这一份变量(也即是说,BroadCast的变量是Executor级别的)

很显然,第二种方式是更能节省网络资源和内存资源的。

posted on 2021-02-01 18:32  ExplorerMan  阅读(197)  评论(0编辑  收藏  举报

导航