Spark的广播变量

来源:互联网 发布:广州金针软件 编辑:程序博客网 时间:2024/06/05 07:46

    将每个task都要计算的数据设置成广播变量,如果不设置成广播变量,则每个task都会保存一份这样一模一样的数据,这样就占用了很多的存储空间,将共享变量设置成广播变量后只在一个excuter里面保存这样一份共享数据,这个excuter里面的task计算的时候共享这样一份数据,这样就减少了内存空间的占有率,但是这样是有前提的,前提是:被广播的变量不能太大。


设置广播变量的步骤如下:

scala> val broadcastVar = sc.broadcast(Array(1, 2, 3))broadcastVar: org.apache.spark.broadcast.Broadcast[Array[Int]] = Broadcast(0)scala> broadcastVar.valueres0: Array[Int] = Array(1, 2, 3)


原创粉丝点击