当前位置:网站首页>14 Spark on RDD 广播变量
14 Spark on RDD 广播变量
2022-08-08 23:31:00 【YaPengLi.】
Spark的三大核心数据结构:RDD、累加器(只写不读)、广播变量(只读不写)
广播变量用来高效分发较大的对象。向所有工作节点发送一个较大的只读值,以供一个或多个 Spark 操作使用。比如,如果你的应用需要向所有节点发送一个较大的只读查询表,广播变量用起来都很顺手。在多个并行操作中使用同一个变量,但是 Spark 会为每个任务分别发送。
广播变量原理
初始的时候,就在Drvier上有一份副本。task在运行的时候,想要使用广播变量中的数据,此时首先会在自己本地的Executor对应的BlockManager中,尝试获取变量副本;如果本地没有,那么就从Driver远程拉取变量副本,并保存在本地的BlockManager中;此后这个executor上的task,都会直接使用本地的BlockManager中的副本。executor的BlockManager除了从driver上拉取,也可能从其他节点的BlockManager上拉取变量副本。
val rdd1 = sc.makeRDD(List( ("a",1), ("b", 2), ("c", 3), ("d", 4) ),4)
val list = List( ("a",4), ("b", 5), ("c", 6), ("d", 7) )
val broadcast: Broadcast[List[(String, Int)]] = sc.broadcast(list)
val resultRDD: RDD[(String, (Int, Int))] = rdd1.map {
case (key, num) => {
var num2 = 0
for ((k, v) <- broadcast.value) {
if (k == key) {
num2 = v
} }
(key, (num, num2))
} }边栏推荐
- [PP-YOLOv2] Test a custom dataset
- iptables firewall content full solution
- 如何在Android中使用Realm数据库
- (2022牛客多校五)G-KFC Crazy Thursday(二分+哈希/Manacher)
- Introduction to Qt (5) - file operation, hotkey and mouse reading (implementation of txt window)
- (newcoder 15079)无关(容斥原理)
- WeChat applet error undefined Expecting 'STRING','NUMBER','NULL','TRUE','FALSE','{','[', got ]Solution
- 线性筛求积性函数
- 2021 RoboCom 世界机器人开发者大赛-本科组(决赛)7-1绿色围栏(模拟)
- mysql 高级知识【order by 排序优化】
猜你喜欢

(2022杭电多校四)1001-Link with Bracket Sequence II(区间动态规划)
![[GYCTF2020]Ezsqli-1|SQL注入](/img/02/dd53f409d278c85b0d48108c4c0148.png)
[GYCTF2020]Ezsqli-1|SQL注入

STM8L 液晶数码管驱动,温度计液晶屏显示

2022杭电多校五 C - Slipper (dijkstra+虚拟结点)

(2022杭电多校三)1002-Boss Rush(状压DP+二分)

不躺平,然后做到极致,就是最大的“安全感”

【LaTex异常与错误】 - 公式编号的参考引用命令\eqref发生错误Undefined control sequence——可能是因为没加载宏包amsmath

牛客多校2 G League of Legends

C语言中指针的介绍

2022牛客多校六 B-Eezie and Pie (dfs)
随机推荐
MES对接Simba实现展讯平台 IMEI 写号与耦合测试
最小生成树prim 求得 树上两点之间的最大最小值
PHP regular to img SRC to add the domain name
(2022牛客多校二)L-Link with Level Editor I(动态规划)
(2022杭电多校六)1010-Planar graph(最小生成树)
51nod2884
stm32 利用 串口接收空闲中断 + dma 实现不定长度dma 接收
2022杭电多校六 1006-Maex (树形DP)
JS中的预编译(AO、GO详解)
-Wl,--start-group ... -Wl,--end-group 用于解决几个库的循环依赖关系
Excel 2013 下拉为“快速分拆”调整为“填充序号”
Manacher(求解最长回文子串)
WeChat applet develops some function usage methods
北斗网络同步时钟与GPS卫星时钟同步设备的区别
PHP闭包函数 bingTo的使用
[PP-YOLOv2] Test a custom dataset
Modal dialog is used to implement the sign-in
Learning experience of bp neural network
抽象内部类
[Pytorch] Study Notes (1)