Spark精华问答 | RDD的核心概念是什么?

640?wx_fmt=png

Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧。


640?wx_fmt=gif1

Q:RDD的核心概念是什么


A:Client:客户端进程,负责提交作业到Master。

Master:Standalone模式中主控节点,负责接收Client提交的作业,管理Worker,并命令Worker启动分配Driver的资源和启动Executor的资源。

Worker:Standalone模式中slave节点上的守护进程,负责管理本节点的资源,定期向Master汇报心跳,接收Master的命令,启动Driver和Executor。

Driver: 一个Spark作业运行时包括一个Driver进程,也是作业的主进程,负责作业的解析、生成Stage并调度Task到Executor上。包括DAGScheduler,TaskScheduler。

Executor:即真正执行作业的地方,一个集群一般包含多个Executor,每个Executor接收Driver的命令Launch Task,一个Executor可以执行一到多个Task。


640?wx_fmt=gif2

Q:RDD有哪些常见术语?


A:DAGScheduler: 实现将Spark作业分解成一到多个Stage,每个Stage根据RDD的Partition个数决定Task的个数,然后生成相应的Task set放到TaskScheduler中。

TaskScheduler:实现Task分配到Executor上执行。

Task:运行在Executor上的工作单元

Job:SparkContext提交的具体Action操作,常和Action对应

Stage:每个Job会被拆分很多组任务(task),每组任务被称为Stage,也称TaskSet

RDD:Resilient Distributed Datasets的简称,弹性分布式数据集,是Spark最核心的模块和类

Transformation/Action:SparkAPI的两种类型;Transformation返回值还是一个RDD,Action返回值不少一个RDD,而是一个Scala的集合;所有的Transformation都是采用的懒策略,如果只是将Transformation提交是不会执行计算的,计算只有在Action被提交时才会被触发。

DataFrame:带有Schema信息的RDD,主要是对结构化数据的高度抽象。

DataSet:结合了DataFrame和RDD两者的优势,既允许用户很方便的操作领域对象,又具有SQL执行引擎的高效表现。


640?wx_fmt=gif3

Q:RDD提供了哪些操作?


A:RDD提供了两种类型的操作:

transformation和action

1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD

2,action是得到一个值,或者一个结果(直接将RDD cache到内存中)

3,所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发


640?wx_fmt=gif4

Q:RDD中关于转换(transformation)与动作(action)有什么区别?


A:transformation会生成新的RDD,而后者只是将RDD上某项操作的结果返回给程序,而不会生成新的RDD;无论执行了多少次transformation操作,RDD都不会真正执行运算(记录lineage),只有当action操作被执行时,运算才会触发。


640?wx_fmt=gif5

Q:RDD 与 DSM的最大不同是什么?


A:RDD只能通过粗粒度转换来创建,而DSM则允许对每个内存位置上数据的读和写。在这种定义下,DSM不仅包括了传统的共享内存系统,也包括了像提供了共享 DHT(distributed hash table) 的 Piccolo 以及分布式数据库等。


640?wx_fmt=png

小伙伴们冲鸭,后台留言区等着你!

关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……

同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~


福利

1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg

2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!


推荐阅读:

  • 技术头条

  • 2019年技术盘点微服务篇(二):青云直上云霄 | 程序员硬核评测

  • “入职 6 年,新人工资高我 2 千”:老板不加钱,不是嫌你老

  • 从沉迷游戏到沉迷编程,16 岁赚 20 万美元!

  • 南大和中大“合体”拯救手残党:基于GAN的PI-REC重构网络,“老婆”画作有救了 | 技术头条

  • 救救中国 996 程序员!GitHub 近 230,000 Star、Python 之父伸张正义!

  • 一个月修复20个漏洞获23675美元赏金, 原来是黑客队伍里出了无间道


640?wx_fmt=png真香,朕在看了!

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

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

相关文章

Git 删除命令

文章目录一、Git 分支操作二、Git删除操作一、Git 分支操作 命令说明git branch查看本地分支git branch查看远程分支git branch dev创建dev 分支git checkout -b dev创建dev分支,并切换到新建的dev分支上git checkout master切换到master分支上git merge dev把dev分…

用科技讲好中国历史故事,腾讯携手秦陵“玩儿转”数字化!

戳蓝字“CSDN云计算”关注我们哦!众所周知,秦始皇陵及兵马俑坑一早就被联合国教科文组织批准列入《世界遗产名录》,并同时被誉为“世界第八大奇迹”,逐渐成长为中国古代辉煌文明的一张金字名片。与此同时,近年来秦陵博…

Tomcat10 开机启动 Linux环境

文章目录1. 切换用户2. 编辑3. 赋予权限4. 重启服务器5. 验证1. 切换用户 请切换到root用户执行,普通用户自启动无权限 su - root2. 编辑 vim /etc/rc.d/rc.local# 添加内容 source /etc/profile touch /var/lock/subsys/local /app/apache-tomcat-10.0.10/bin/s…

猫眼java开发暑期实习_校招|猫眼 Android日常实习一面面经

作者:Wwww_来源:牛客网问简历上项目,看我用了GreenDao开源库,问为什么使用这个数据库Java:1. 抽象类和接口,问的很细而且比较灵活。还记得的有:接口中能不能有protected修饰的方法;能…

开源“大地震”下,华为如何复制 Google 模式?

戳蓝字“CSDN云计算”关注我们哦!作者 | 郭芮出品 | CSDN(ID:CSDNnews)回首刚刚过去的五月,注定会给很多技术人留下浓墨重彩的一笔。2018 年 4 月,曾经占据智能手机全球份额第九、美国第四大智能手机供应商…

java 实体类 代码重复_java – JPA两个单向@OneToMany关系到同一个实体导致重复输入...

我目前正在开展一个学校项目,我们必须创建自己的“Twitter”应用程序,并且我在域对象的持久性方面遇到了一些麻烦.我的帐户类(为便于阅读而简化):Entitypublic class Account implements Serializable {IdGeneratedValue(strategy GenerationType.SEQUENCE)private…

Spring精华问答 | 什么是YAML?

Spring框架是一个开源的Java平台,它提供了非常容易,非常迅速地开发健壮的Java应用程序的全面的基础设施支持。今天就让我们一起来看看关于Spring的精华问答吧。1Q:如何在自定义端口上运行Spring Boot应用程序?A:为了在自定义端口上运行Spring…

Sublime Test3 添加一键格式化XML文件插件

文章目录1. 下载地址:2. 快捷键:3. 在线格式化xml json插件1. 下载地址: 下载链接提取码https://pan.baidu.com/s/1zovLp4BCJmreAYe83EionAq0vq 2. 快捷键: 快捷键说明CtrlL选择整行(按住-继续选择下行)C…

java获得jsp的name注解_记录Java注解在JavaWeb中的一个应用实例

概述在学习注解的时候,学了个懵懵懂懂。学了JavaWeb之后,在做Demo项目的过程中,借助注解和反射实现了对页面按钮的权限控制,对于注解才算咂摸出了点味儿来。需求以"角色列表"页面为例,该页面包含"新建&…

企业实战_03_MyCat下载、安装、启动

接上一篇:企业实战_02_MyCat基本元素 https://gblfy.blog.csdn.net/article/details/118770154 Mycat是一个广受好评的数据库中间件,主要应用场景:主从复制、读写分离、垂直拆分、水平扩展、热备、分表分库等。 前言: MyCat基于jd…

微服务的历史与陷阱

戳蓝字“CSDN云计算”关注我们哦!作者 | 李运华出品 | 技术琐话微服务是近几年非常火热的架构设计理念,大部分人认为是MartinFlower提出了微服务概念,但事实上微服务概念的历史要早得多,也不是Martin Flower创造出来的&#xff0c…

mysqldump备份报Binlogging on server not active的解决

文章目录1. 问题现象2. 解决方案1. 问题现象 Redhat 6.5 X64 Mysql 5.7执行备份: [rootmaster 3306]# mysqldump -u root -p --master-data2 --single-transaction -R --triggers -A > all.sql Enter password: mysqldump: Error: Binlogging on server not active2. 解决…

java加锁多线程改为单线程_GUI为什么不设计为多线程(用户事件和底层事件的流程是相反的,每层都加锁效率太低,共用一把锁那就是单线程)...

在我们这批新人转正评审的时候,我师父问了我的小伙伴一个问题:为什么一些更新界面的方法只能在主线程中调用?师父没有问我这个问题,让知其然但不知其所以然的我有种侥幸逃过一难的心情。我想如果回答那是因为Android GUI库是单线程…

行啊,人工智能玩大了!

戳蓝字“CSDN云计算”关注我们哦!是的 ,你没猜错!就是人工智能!AI的炽手可热程度和重要性无需多提。最近,笔者在网上发现了一个报告,报告名字:《BAT人工智能领域人才发展报告》,发现…

Slave is not configured or failed to initialize properly. You must at least set --server-id

一、如果版本不一样请执行以下操作: MySQL 跨版本主从复制时报错:ERROR 1794 (HY000): Slave is not configured or failed to initialize properly. 背景: zabbix 数据库迁移,搭建主从,主是5.6.25,从是5.…

java xml注入bean_Spring实战之通过XML装配bean

尽管Spring长期以来确实与XML有着关联,但现在需要明确的是,XML不再是配置Spring的唯一可选方案。Spring现在有了强大的自动化配置和基于Java的配置,XML不应该再是你的第一选择了。不过,鉴于已经存在那么多基于XML的Spring配置&…

Docker 存储选型,这些年我们遇到的坑

戳蓝字“CSDN云计算”关注我们哦!技术头条:干货、简洁、多维全面。更多云计算精华知识尽在眼前,get要点、solve难题,统统不在话下!随着Docker 容器技术的不断发展和业内对Docker 的使用不断深入,大家已经不…

mysql主从复制之异常解决--- Slave_IO_Running: NO

关于 Slave_IO_Running: NO 的错误其实有很多原因, 文章目录1. 解决问题的思路2. 异常信息3. 问题定位:由于uuid相同,而导致触发此异常4. 解决方案5. 服务器背景6. 具体解决方案7. 重新启动mysql8. 登录mysql,重启slave&#xff0…

企业实战_11_MyCat垂直拆分相关配置

接上一篇:企业实战_10_MyCat Mysql 主复制总结 https://gblfy.blog.csdn.net/article/details/118652742 文章目录一、准备工作1. 实现思路2. 配置MyCat垂直分库3. 环境配置4. 在master节点创建mycat用户5. 赋予操作数据库权限二、schema.xml文件配置2.1. 基础模板 …

K8S精华问答 | 如何监控部署在Docker容器上的应用程序?

kubernetes,简称K8S,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应…