(五)Spark广播变量,累加器

本文详细介绍了Spark中的两种共享变量:广播变量(Broadcast variables)和累加器(Accumulators)。广播变量用于减少网络传输和内存开销,提高性能,适合多个Task共享大变量的场景。累加器则是全局计数器,适用于计算过程中的统计需求。通过实例展示了如何使用这两种共享变量,以及它们在Spark作业中的优势和应用场景。
摘要由CSDN通过智能技术生成

        做应用开发的时候,总会有一些计算逻辑需要访问“全局变量”,比如说全局计数器,而这些全局变量在任意时刻对所有的 Executors 都是可见的、共享的。那么问题来了,像这样的全局变量,或者说共享变量,Spark 又是如何支持的呢?

        按照创建与使用方式的不同,Spark 提供了两类共享变量,分别是广播变量(Broadcast variables)和累加器(Accumulators)。接下来,我们就正式进入今天的学习,去深入了解这两种共享变量的用法、以及它们各自的适用场景

广播变量(Broadcast variables)

       我们先来说说广播变量。广播变量的用法很简单,给定普通变量 x,通过调用 SparkContext 下的 broadcast API 即可完成广播变量的创建,我们结合代码例子看一下

val list: List[String] = List("Apache", "Spark")
 
// sc为SparkContext实例
val bc = sc.broadcast(list)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值