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

    科技2022-09-03  109

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

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

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

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

    Processed: 0.009, SQL: 9