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)
  }
}
相关推荐
敏叔V5872 小时前
联邦学习与大模型:隐私保护下的分布式模型训练与微调方案
分布式
塔能物联运维3 小时前
隧道照明“智能进化”:PLC 通信 + AI 调光守护夜间通行生命线
大数据·人工智能
highly20093 小时前
Gitflow
大数据·elasticsearch·搜索引擎
短剑重铸之日4 小时前
《7天学会Redis》特别篇: Redis分布式锁
java·redis·分布式·后端·缓存·redission·看门狗机制
humors2214 小时前
韩秀云老师谈买黄金
大数据·程序人生
重生之绝世牛码4 小时前
Linux软件安装 —— SSH免密登录
大数据·linux·运维·ssh·软件安装·免密登录
StarChainTech4 小时前
无人机租赁平台:开启智能租赁新时代
大数据·人工智能·微信小程序·小程序·无人机·软件需求
Hello.Reader5 小时前
Flink DynamoDB Connector 用 Streams 做 CDC,用 BatchWriteItem 高吞吐写回
大数据·python·flink
早日退休!!!5 小时前
内存泄露(Memory Leak)核心原理与工程实践报告
大数据·网络
发哥来了5 小时前
主流AI视频生成工具商用化能力评测:五大关键维度对比分析
大数据·人工智能·音视频