spark广播变量

2024-1-24

广播变量特点

  • Broadcast Variable会将使用到的变量,只会为每个节点拷贝一份,不会为每个task进行拷贝,能够优化性能(在task数量比较大体现更明显),减少网络传输及内存消耗
  • 通过SparkContext的broadcast()方法,针对某个变量创建广播变量,可以通过广播变量的value()方法获取值
  • 广播变量是只读
Scala 复制代码
object BroadcastTest {

  def main(args: Array[String]): Unit = {
    val conf: SparkConf = new SparkConf().setAppName("Broadcast").setMaster("local")
    val sc = new SparkContext(conf)
    sc.setLogLevel("ERROR")
    val listRDD: RDD[Int] = sc.parallelize(List(1, 2, 3, 4))
    var num = 2
    val bc: Broadcast[Int] = sc.broadcast(num)
    listRDD.map(x=> x * bc.value).foreach(println)
  }
}
相关推荐
星辰_mya5 小时前
Kafka 的 KRaft 模式
分布式·kafka
TDengine (老段)6 小时前
TDengine IDMP 数据可视化——富文本
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
iambooo6 小时前
系统健康巡检脚本的设计思路与落地实践
java·大数据·linux
only-qi6 小时前
RedLock:分布式锁的设计争议与实战踩坑
分布式
yangyanping201086 小时前
消息队列之消费者如何获取消息
分布式·架构·kafka
土拨鼠烧电路6 小时前
笔记05:ITBP角色破局:从“接需求”到“创需求”的思维切换
大数据·人工智能·笔记
heimeiyingwang7 小时前
企业 AI 预算规划:如何分配资源实现最大 ROI
大数据·人工智能
土拨鼠烧电路7 小时前
笔记06:市场部的战争:流量、心智与增长黑客
大数据·人工智能·笔记
babe小鑫7 小时前
大专政务大数据应用专业学习数据分析的价值分析
大数据·学习·政务
AlickLbc7 小时前
RabbitMQ安装记录
分布式·rabbitmq