当前位置:网站首页>Spark的原理解析
Spark的原理解析
2022-07-02 06:24:00 【无聊的n一天】
Spark的原理解析
文章目录
前言
今天主要学习的是一个Spark框架的原理解析,spark的运行流程,RDD的一个执行过程,依赖关系的一个介绍
一. Spark简介
Spark是由scala开发的,scala运行于JAVA平台(JVM),并兼容现有的JAVA程序,所以使用scala编写的程序由Java jdk就能运行,并不需要scala jdk
Spark与MapReduce对比

由上图可以看出,使用Hadoop MR进行迭代计算非常耗资源
Spark将数据载入内存后,之后的迭代计算都可以直接使用内存中的中间结果作运算,避免了从磁盘中频繁读取数据
二.基本概念和架构设计

Spark运行的基本流程(这里以YARN为例)

- 客户端提交应用程序的时候,首先为应用构起基本运行环境SparkContext并向RM注册并申请资源,即由Driver创建一个SC进行资源的申请,任务的分配和监控
这里的Driver理解为用户编写的应用程序,SparkContex(SC)t就类似RM中的AM功能 - RM收到请求后会启动Executor并分配资源,并向SC注册并申请Task,并时刻与SC保持通信防止断联。
- 待作业运行完后SC向RM申请注销并关闭自己
RDD的一个基本运行概述
RDD的典型执行过程如下

1.RDD读入外部数据源并创建,如果数据源大就会创建多个分区,不同的分区就会到不同的数据节点上,就是因为这一特性,才叫RDD:分布式弹性数据集
2.RDD经过一系列的转换操作:每一次转换操作都会形成新的RDD供下一个转换操作使用,这样串起来就构成了DAG图
3.最后一个RDD经过动作操作输出到外部数据源
处理过程中,RDD都会转换,但不会具体的生成结果,只有遇到动作操作(action)才会去计算相应的结果

RDD的依赖关系
如上图所示,RDD的依赖关系分为宽依赖和窄依赖,什么有窄依赖,下面我说一下宽依赖,表现为存在一个父RDD的一个分区对应一个子RDD的多个分区
总结
今天写的比较水,总的来说就是为了巩固今天的所学而写的。后面有时间了还会再具体一点
边栏推荐
猜你喜欢

IDEA2020中测试PySpark的运行出错

CAD secondary development object

Latex warning: citation "*****" on page y undefined on input line*

MySQL中的正则表达式

The win10 network icon disappears, and the network icon turns gray. Open the network and set the flash back to solve the problem

Redis -- cache breakdown, penetration, avalanche

Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence

How to try catch statements that return promise objects in JS

SQLI-LABS通关(less15-less17)

微信小程序基础
随机推荐
CAD secondary development object
PXC high availability cluster summary
Apt command reports certificate error certificate verification failed: the certificate is not trusted
[Zhang San learns C language] - deeply understand data storage
Anti shake and throttling of JS
sqli-labs通關匯總-page2
Cve-2015-1635 (ms15-034) Remote Code Execution Vulnerability recurrence
Atcoder beginer contest 253 F - operations on a matrix / / tree array
Cve - 2015 - 1635 (ms15 - 034) réplication de la vulnérabilité d'exécution de code à distance
2021-07-05c /cad secondary development create arc (4)
php中删除指定文件夹下的内容
Sqli labs customs clearance summary-page4
Sqli labs customs clearance summary-page3
Tool grass welfare post
Latex error: the font size command \normalsize is not defined problem solved
SQLI-LABS通关(less15-less17)
SQL注入闭合判断
sqli-labs通关汇总-page1
在php的开发环境中如何调取WebService?
Automation - when Jenkins pipline executes the nodejs command, it prompts node: command not found