Spark 共享变量

  1. Spark共享变量。
    • Spark是分布式计算框架,即是多机器集群部署。在Driver提交Application的时候,Spark会将这个Application里面的操作函数以及变量通过远程网络传输到集群中的每个节点上,然后由每个节点单独运算。其中变量的更新并不会传回Driver程序。这样就带来一个问题,如果有一个变量是需要全局保持统一(只读的),如果公共配置文件,那么就会在所有的节点中都复制一份,这就增加网络通信的开销。但是,spark还是提供了两种共享变量:广播变量和累加器。
  2. Spark共享变量的种类
    • 广播变量:广播变量允许开发人员在每个节点缓存只读的变量,而不是在任务之间传递这些变量。广播变量的最大优势是:程序员能够以一种更有效率的方式将一个大数据量输入集合的副本分配给每个节点。另外,广播变量的值是可以更新的。广播传输是通过BT下载模式实现,也就是P2P下载,在大规模集群中,可以极大的提高数据传输速率。Spark的“动作”操作会跨越多个阶段,对于每个阶段内的所有任务都需要的公共数据,Spark都会自动广播。这些变量首先会序列化,然后在任务使用时在被反序列化。
    • 累加器:累加器是Spark中仅有通过关联操作进行累加的变量,因此能够有效的支持并行计算。它能够用来实现计数counters和求和sums。

https://www.cnblogs.com/liuliliuli2017/p/6782687.html
http://www.aboutyun.com/thread-19652-1-1.html
厦门大学数据库实验室

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值