Spark精华问答 | RDD的核心概念是什么?
Hadoop再火,火得过Spark吗?今天我们继续关于Spark的精华问答吧。
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。
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执行引擎的高效表现。
Q:RDD提供了哪些操作?
A:RDD提供了两种类型的操作:
transformation和action
1,transformation是得到一个新的RDD,方式很多,比如从数据源生成一个新的RDD,从RDD生成一个新的RDD
2,action是得到一个值,或者一个结果(直接将RDD cache到内存中)
3,所有的transformation都是采用的懒策略,就是如果只是将transformation提交是不会执行计算的,计算只有在action被提交的时候才被触发。
Q:RDD中关于转换(transformation)与动作(action)有什么区别?
A:transformation会生成新的RDD,而后者只是将RDD上某项操作的结果返回给程序,而不会生成新的RDD;无论执行了多少次transformation操作,RDD都不会真正执行运算(记录lineage),只有当action操作被执行时,运算才会触发。
Q:RDD 与 DSM的最大不同是什么?
A:RDD只能通过粗粒度转换来创建,而DSM则允许对每个内存位置上数据的读和写。在这种定义下,DSM不仅包括了传统的共享内存系统,也包括了像提供了共享 DHT(distributed hash table) 的 Piccolo 以及分布式数据库等。
小伙伴们冲鸭,后台留言区等着你!
关于Spark,今天你学到了什么?还有哪些不懂的?除此还对哪些话题感兴趣?快来留言区打卡啦!留言方式:打开第XX天,答:……
同时欢迎大家搜集更多问题,投稿给我们!风里雨里留言区里等你~
福利
1、扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!
2、公众号后台回复:白皮书,获取IDC最新数据白皮书整理资料!
推荐阅读:
微服务进阶避坑指南 | 技术头条
2019年技术盘点微服务篇(二):青云直上云霄 | 程序员硬核评测
“入职 6 年,新人工资高我 2 千”:老板不加钱,不是嫌你老
从沉迷游戏到沉迷编程,16 岁赚 20 万美元!
南大和中大“合体”拯救手残党:基于GAN的PI-REC重构网络,“老婆”画作有救了 | 技术头条
救救中国 996 程序员!GitHub 近 230,000 Star、Python 之父伸张正义!
一个月修复20个漏洞获23675美元赏金, 原来是黑客队伍里出了无间道