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)
  }
}
相关推荐
starzy199018 分钟前
Kafka源码深度剖析:消息有异常是如何处理的
大数据·kafka
大大大大晴天1 小时前
每天认识一个组件:ClickHouse
大数据
每天一道题2 小时前
CAP、Raft 与多数派:分布式系统如何达成一致?
分布式·后端·微服务
zwjapple2 小时前
skill总结
大数据·elasticsearch·搜索引擎
百年江湖随意沉浮3 小时前
DATA AI · 数据可视化
大数据
SelectDB3 小时前
实时更新排错现场:导入了却查到旧数据,和 FINAL 越加越慢的两条路
大数据·数据库·数据分析
SelectDB3 小时前
拿 Planet 的账单一行行对下来,我总结出三个可自查的校验点
大数据·数据库·数据分析
SelectDB3 小时前
Apache Doris + Vane:让多模态数据进入业务分析
大数据·数据库·数据分析
考拉讲支付3 小时前
延迟分账 / 核销分账的技术实现方案:服务完成后再分钱,到底怎么设计?
大数据·运维·人工智能·微信小程序·小程序·系统架构
大大大大晴天️4 小时前
Agent Loop 深度解析:理解、规划、行动、观察与纠错
大数据·ai-agent