大数据:spark共享广播变量,累加器

news2025/5/24 17:06:12

大数据:共享变量

2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开
测开的话,你就得学数据库,sql,oracle,尤其sql要学,当然,像很多金融企业、安全机构啥的,他们必须要用oracle数据库
这oracle比sql安全,强大多了,所以你需要学习,最重要的,你要是考网络警察公务员,这玩意你不会就别去报名了,耽误时间!
与此同时,既然要考网警之数据分析应用岗,那必然要考数据挖掘基础知识,今天开始咱们就对数据挖掘方面的东西好生讲讲 最最最重要的就是大数据,什么行测和面试都是小问题,最难最最重要的就是大数据技术相关的知识笔试


文章目录

  • 大数据:共享变量
    • @[TOC](文章目录)
  • 大数据:广播变量
  • 总结

大数据:广播变量

在这里插入图片描述
在这里插入图片描述
把RDD中的id替换为左边的姓名

spark右边是RDD,分布式的
左边是本地python的list

左边是driver在负责,右边是executor在执行
通过函数处理
在这里插入图片描述
返回姓名和数据
map算子来自RDD
分布式运行在executor

在这里插入图片描述
分区执行map,需要网络传输本地的stu_info_list
在这里插入图片描述
executor是进程
进程之内内存空间是各个线程共享的
所以executor你有必要发2份吗?

只需要发一份即可

解决这个问题,需要广播变量技术

在这里插入图片描述
如果给你spark标记哦一下,stu这个信息是广播变量
如果分区1发了,OK
你分区2再要,不给了,让你去分区1要去,去共享,懂吗?
我不发了!!

如果分区3发了,OK
你分区4再要,不给了,让你去分区3要去,去共享,懂吗?
我不发了!!

这就是少发送,你们一个整体,我只法一次,你们共享即可
在这里插入图片描述
在这里插入图片描述
类型就是广播变量

在这里插入图片描述

标记广播变量
然后value使用即可
在这里插入图片描述

这样的话,内存不会浪费哦

妹子最

适用对象:
本地集合对象和RDD对象关联的时候,就可以将本地集合对象封装为广播变量,这样RDD使用分布式传输就能节约内存空间

那为啥不把本地集合变RDD?

不,我们避免shuffle耗费太多性能
在这里插入图片描述shuffle是最耗费性能的
本地集合如果转RDD, 那就要费劲到处传输

但是如果封装为广播变量,就只需要交互一次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
各自处理5个

最终的累加咋是0?

非RDD代码,都是driver执行的
RDD是executor执行的

需要用的时候,发送count
你打印最后的count是内存指针那原来driver的值
在这里插入图片描述
普通的写法,再分布式计算过程中,难搞

那我们设定全局累加器变量

在这里插入图片描述
累加器定义类型,封装一下,它就会双边叠加

美滋滋

在这里插入图片描述
我们说过,rdd是一个过程数据
后面再次调用rdd2时,还需要再去执行一次,重新构建
这就是rdd过程数据的本质引发的

懂了吗
20次
在这里插入图片描述
用累加器要小心
要缓存,才不会累加异常哦

在这里插入图片描述


总结

提示:重要经验:

1)
2)学好oracle,即使经济寒冬,整个测开offer绝对不是问题!同时也是你考公网络警察的必经之路。
3)笔试求AC,可以不考虑空间复杂度,但是面试既要考虑时间复杂度最优,也要考虑空间复杂度最优。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/611438.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

三面阿里被挂,竟获内推名额,历经 5 面拿下口碑 offer...

每一个互联网人心中都有一个大厂梦,百度、阿里巴巴、腾讯是很多互联网人梦寐以求的地方,而我也不例外。但是,BAT 等一线互联网大厂并不是想进就能够进的,它对人才的技术能力和学历都是有一定要求的,所以除了学历以外&a…

STM32单片机WIFI物联网厨房燃气安全系统超声波人员检测MQ4燃气报警

实践制作DIY- GC0140-WIFI物联网厨房燃气安全系统 基于STM32单片机设计---WIFI物联网厨房燃气安全系统 二、功能介绍: 硬件组成:STM32F103C系列最小系统继电器模拟阀门MQ-4然气传感器HSR04超声波测距LCD1602显示器ESP8266-WIFI模块蜂鸣器多个按键 1.有…

MySQL命令行速查手册(持续更新ing...)

诸神缄默不语-个人CSDN博文目录 最近更新时间:2023.6.5 最早更新时间:2023.6.5 每个命令都以;作为结尾(以下localhost都可以替换成实际IP地址)(和’的区别应该不大)用户管理 修改密码:ALTER U…

如何使用Facebook Business Suite来管理你的FB和Ins商业账户

Facebook Business Suite是Facebook推出的一种强大的数字营销工具,可帮助企业轻松管理其在Facebook和Instagram上的商业账户。该工具集成了多种功能,提供了一种简单、直观的方式来管理你的社交媒体营销活动。 在本文中,我们将详细介绍如何优化…

深眸科技基于技术与人才优势,创新研发机器视觉系统赋能工业生产

随着人工智能技术加速进入生产生活,机器视觉系统作为工业发展的刚需,凭借着能够为机器提供视觉,并在众多场景实现柔性化生产应用的能力,逐步被接受和普及,并在工业生产领域发挥巨大作用。 深眸科技作为国家高新技术企…

物流货运车货匹配平台源码

网络货运平台具有较强的信息数据交互和处理能力,能够对托运人,平台运营人,实际承运人,驾驶员的相关方的交易,运输,结算等全过程进行透明,动态的管理,该平台由托运人、实际承运人、司…

ControlNet: Adding Conditional Control to Text-to-Image Diffusion Models

Adding Conditional Control to Text-to-Image Diffusion Models (Paper reading) Lvmin Zhang and Maneesh Agrawala, Stanford University, arXiv, Cited:113, Code, Paper 1. 前言 我们提出了一种名为ControlNet的神经网络结构,用于控制预训练的大规模扩散模型…

element中table的列标题自定义

一、需求 工作中要求表格table中的某一列标题为红色如图 二、方案一 使用el-table-column自带的:render-header"renderHeader"函数 render-header列标题 Label 区域渲染使用的 FunctionFunction(h, { column, $index })—— 使用有点像v-html插入代码片段&#xf…

PubChem介绍及API及PubChempy

PubChem 【官网 https://pubchem.ncbi.nlm.nih.gov/】 简介 PubChem is the world’s largest collection of freely accessible chemical information. Search chemicals by name, molecular formula, structure, and other identifiers. Find chemical and physical proper…

casbin基于RBAC的权限管理案例

在RBAC模型中新定义了角色和继承关系,用户可以通过角色区分不同的权限,继承不同的角色时用户有多个权限。 [role_definition] g _, _ g2 _, _g 是一个 RBAC系统, g2 是另一个 RBAC 系统。 _, _表示角色继承关系的前项和后项,即前项继承后项…

局部探索测试的要素

局部探索测试的要素 局部探索测试是软件测试过程中的一种方法,旨在发现一个系统、软件或应用程序的局部缺陷和问题。局部探索测试不是全面测试,而是通过对特定功能、模块或环节进行测试来检查其中潜在的缺陷,从而提高软件的质量和可靠性。 局…

【白话机器学习系列】白话Broadcasting

白话 Broadcasting 文章目录 什么是 BroadcastingBroadcasting 的规则逐元素操作向量与标量运算矩阵与向量运算行向量列向量 张量与向量运算张量与矩阵运算 矩阵与张量的点积总结 什么是 Broadcasting 在 《白话张量》 中我们讲过,张量之间进行运算需要满足一定的…

Hadoop之MapReduce概述

MapReduce概述 MapReduce定义MapReduce优缺点MapReduce核心思想MapReduce进程MapReduce编程规范MapTask并行度决定机制ReduceTask并行度决定机制mapreduce中job的提交流程MapReduce工作流程shuffle机制分区partition数据清洗(ETL)进一步分析MapTask和Red…

Jenkins+RF持续集成测试(二) 定时更新SVN完成构建

在上一篇中讲了Jenkins的安装,这篇将介绍 定时从SVN库中(git库与之类似,这里就不具体介绍了,有需要自己折腾)拉取最新的测试脚本,完成jenkins的定时构建。这是我们做自动化测试最基本的环节,每天…

【Linux】还在用top命令?可以试试atop工具,信息一目了然,运维工程师的新选择

atop使用 Linux以其稳定性,越来越多地被用作服务器的操作系统(当然,有人会较真地说一句:Linux只是操作系统内核:)。但使用了Linux作为底层的操作系统,是否我们就能保证我们的服务做到7*24地稳定呢?非也,要…

06.05

1.二进制求和 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 考虑一个最朴素的方法:先将 aaa 和 bbb 转化成十进制数,求和后再转化为二进制数。利用 Python 和 Java 自带的高精度运算,我们可以很简单地写出这…

发现问题更全面,减少测试成本:WEB自动化测试的价值分析!

目录 前言: 一、WEB自动化测试的价值 1. 提高测试效率 2. 提高软件的质量 3. 减少测试成本 二、WEB自动化测试的瓶颈 1. 可维护性差 2. 兼容性问题 3. 比手工测试慢 三、代码示例 四、总结 前言: 自动化测试是软件开发中必不可少的一环&…

shell简单命令

命令入门: [rootlocalhost ~]# #/root [jinxflocalhost ~]$ #/home/jinxf 用户名主机名 当前目录 #系统权限 $普通权限 命令格式 命令 选项 参数(三者之间要有空格,区分大小写) command [-options] [args]…

004-从零搭建微服务-认证中心(四)

写在最前 如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。 源码地址:https://gitee.com/csps/mingyue 文档地址:https://gitee.com/csps/mingyue/wikis 搭建前端框架 感谢开源项目【vue-next-adm…

最厉害的缓存框架,没有之一!

Redis有多火爆? 现在阿里、腾讯这样的大厂和大部分互联网公司,基本上都需要使用到Redis技术。网上发布的Java开发工程师岗位的招聘信息,对Redis的要求都是熟练掌握。 而且现在大厂的大部分面试题都和Redis有关,尤其是在阿里、字节…