Spark(一)介绍
随着对spark的业务更深入,对spark的了解也越多,然而目前还处于知道的越多,不知道的更多阶段,当然这也是成长最快的阶段。这篇文章用作总结最近收集及理解的spark相关概念及其关系。
名词
driver
driver物理层面是指输入提交spark命令的启动程序,逻辑层面是负责调度spark运行流程包括向master申请资源,拆解任务,代码层面就是sparkcontext。
worker
worker指可以运行的物理节点。
executor
executor指执行spark任务的处理程序,对java而言就是拥有一个jvm的进程。一个worker节点可以运行多个executor,只要有足够的资源。
job
job是指一次action,rdd(rdd在这里就不解释了)操作分成两大类型,一类是transform,一类是action,当涉及到action的时候,spark就会把上次action之后到本次action的所有rdd操作用一个job完成。
stage
stage是指一次shuffle,rdd在操作的时候分为宽依赖(shuffle dependency)和窄依赖(narraw dependency),如下图所示。而宽依赖就是指shuffle。
应某人要求再解释一下什么是窄依赖,就是父rdd的每个分区都只作用在一个子rdd的分区中,原话是这么说的 each partition of the parent RDD is used by at most one partition of the child RDD。

task
task是spark的最小执行单位,一般而言执行一个partition的操作就是一个task,关于partition的概念,这里稍微解释一下。
spark的默认分区数是2,并且最小分区也是2,改变分区数的方式有很多,大概有三个阶段
1.启动阶段,通过 spark.default.parallelism 来初始化默认分区数
2.生成rdd阶段,可通过参数配置
3.rdd操作阶段,默认继承父rdd的partition数,最终结果受shuffle操作和非shuffle操作的影响,不同操作的结果partition数不同
名词关系
物理关系
官网给出的spark运行架构图

逻辑关系
下图是总结的逻辑关系图,如果有不对之处,还望提醒

参考资料
//spark apche的官网提供的参数配置清单
http://spark.apache.org/docs/latest/configuration.html
//spark apche的官网提供的spark运行总览
http://spark.apache.org/docs/latest/cluster-overview.html
//stackoverflow对于dataframe partition的解释
http://stackoverflow.com/questions/39368516/number-of-partitions-of-spark-dataframe
//关于spark最小分区数的解释
https://github.com/mesos/spark/pull/718
Spark(一)介绍的更多相关文章
- spark API 介绍链接
spark API介绍: http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html#aggregateByKey
- Spark角色介绍及spark-shell的基本使用
Spark角色介绍 1.Driver 它会运行客户端的main方法,构建了SparkContext对象,它是所有spark程序的入口 2.Application 它就是一个应用程序,包括了Driver ...
- Spark概念介绍
Spark概念介绍:spark应用程序在集群中以一系列独立的线程运行,通过驱动器程序(Driver Program)发起一系列的并行操作.SparkContext对象作为中间的连接对象,通过Spark ...
- Spark MLlib介绍
Spark MLlib介绍 Spark之所以在机器学习方面具有得天独厚的优势,有以下几点原因: (1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足 ...
- 2 Spark角色介绍及运行模式
第2章 Spark角色介绍及运行模式 2.1 集群角色 从物理部署层面上来看,Spark主要分为两种类型的节点,Master节点和Worker节点:Master节点主要运行集群管理器的中心化部分,所承 ...
- Spark Transformations介绍
背景 本文介绍是基于Spark 1.3源码 如何创建RDD? RDD可以从普通数组创建出来,也可以从文件系统或者HDFS中的文件创建出来. 举例:从普通数组创建RDD,里面包含了1到9这9个数字,它们 ...
- spark算子介绍
1.spark的算子分为转换算子和Action算子,Action算子将形成一个job,转换算子RDD转换成另一个RDD,或者将文件系统的数据转换成一个RDD 2.Spark的算子介绍地址:http:/ ...
- Spark—RDD介绍
Spark-RDD 1.概念介绍 RDD(Resilient Distributed Dataset):弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变.可分区.里面的元素可并行计算 ...
- Spark简单介绍,Windows下安装Scala+Hadoop+Spark运行环境,集成到IDEA中
一.前言 近几年大数据是异常的火爆,今天小编以java开发的身份来会会大数据,提高一下自己的层面! 大数据技术也是有很多: Hadoop Spark Flink 小编也只知道这些了,由于Hadoop, ...
- Apache Spark简单介绍、安装及使用
Apache Spark简介 Apache Spark是一个高速的通用型计算引擎,用来实现分布式的大规模数据的处理任务. 分布式的处理方式可以使以前单台计算机面对大规模数据时处理不了的情况成为可能. ...
随机推荐
- Spark 源码分析 -- Task
Task是介于DAGScheduler和TaskScheduler中间的接口 在DAGScheduler, 需要把DAG中的每个stage的每个partitions封装成task 最终把taskset ...
- webservice接口问题:Payload: No message body writer has been found for class domain, ContentType: application/xml
当在使用cxf-rs的webservice的时候,有时候在传输数据,会发生这种错误 错误代码: Response-Code: 500 Content-Type: text/plain Headers: ...
- 用Python爬虫爬取广州大学教务系统的成绩(内网访问)
用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...
- opencv亚像素级角点检测
一般角点检测: harris cv::cornerHarris() shi-tomasi cv::goodFeaturesToTrack() 亚像素级角点检测是在一般角点检测基础之上将检测出的角点精确 ...
- Web项目管理工具精选(下)
原文:Web项目管理工具精选(下) 我们在上篇中已推介『代码管理.任务管理.支付工具.数据记录.Dashboard Analytics.客户支持』六个方面的工具.本文将介绍剩下七类工具. A/B测试 ...
- 《Python核心编程》第五章:数字
PS:[笔记+代码+图片]在GitHub上持续更新,欢迎star:https://github.com/gdouchufu/Core-Python-Programming 本章大纲 介绍Python支 ...
- Linux进入-adsdfsd目录
Linux进入-adsdfsd目录 如果某个目录名称是短线(短横线)开头的 要想在命令行中进入目录,使用如下命令: cd -- -adsdfsd 延伸: 其他非寻常操作: http://www.cnb ...
- (4.20)SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
转自:指尖流淌 https://www.cnblogs.com/zhijianliutang/p/4085546.html SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧 ...
- 需求用例分析之五:业务用例之Rational系
版权声明:作者:张克强.未经作者允许不得转载. https://blog.csdn.net/zhangmike/article/details/28134897 作者:张克强 作者微博:张克强- ...
- PHP连接MYSQL操作数据库
PHP连接MYSQL操作数据库 <?php $con = mysql_connect("localhost","root",""); ...