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)
  }
}
相关推荐
雪碧聊技术16 分钟前
ElasticSearch—倒排索引
大数据·elasticsearch·搜索引擎
autism_cx21 分钟前
HCIA实验数据
大数据
方向研究25 分钟前
尿素(UR)生产
大数据
拾光向日葵9 小时前
2026贵州高职专科报考全问答合集:专业、就业与实力大盘点
大数据·人工智能·物联网
无忧智库10 小时前
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
大数据·运维
绿算技术11 小时前
OpenClaw × GP Spark:本地智能与极速存储的终极融合
大数据·分布式·spark
monsion12 小时前
Code Agent 的上下文压缩:不是 zip,而是工作记忆管理
大数据·人工智能
孤影过客13 小时前
驯服数据巨兽:Hadoop如何重塑大数据的黄金时代
大数据·hadoop·分布式
第二只羽毛13 小时前
C++ 高并发内存池1
大数据·开发语言·c++·开源
开利网络15 小时前
敏捷开发,快速验证:45天让智能体跑起来的落地方法论
大数据·敏捷流程