Spark基本架构】的更多相关文章

[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1. Spark运行架构 1.1 术语定义 lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: lDriver:Spark中的Driver即运行上述Application的main()函数并且创建SparkContext…
图 1   Spark Streaming 架构图 组件介绍:‰ Network Input Tracker : 通 过 接 收 器 接 收 流 数 据, 并 将 流 数 据 映 射 为 输 入DStream.‰ Job Scheduler :周期性地查询 DStream 图,通过输入的流数据生成 Spark Job,将 Spark Job 提交给 Job Manager 进行执行.‰ JobManager:维护一个 Job 队列,将队列中的 Job 提交到 Spark 进行执行. 通 过 图…
1. Spark运行架构 1.1 术语定义 lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: lDriver:Spark中的Driver即运行上述Application的main()函数并且创建SparkContext,其中创建SparkContext的目的是为了准备Spark应用程序的运行环境.在Spark中由S…
http://blog.csdn.net/pipisorry/article/details/52366288 1. Spark运行架构 1.1 术语定义 lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: lDriver:Spark中的Driver即运行上述Application的main()函数并且创建Spark…
Spark基本架构图如下: Client:客户端进程,负责提交作业. Driver:一个Spark作业有一个spark context,一个Spark  Context对应一个Driver进程,作业的main函数运行在Driver中.Driver主要负责Spark作业的解析,以及通过DAGSchduler划分stage,将Stage转化成TaskSet提交给TaskScheduler任务调度器,进而调度Task到Executor上执行. Executor:负责执行Driver分发的Task任务.…
Hadoop 和 Spark 的关系 Spark 运算比 Hadoop 的 MapReduce 框架快的原因是因为 Hadoop 在一次 MapReduce 运算之后,会将数据的运算结果从内存写入到磁盘中,第二次 Mapredue 运算时在从磁盘中读取数据,所以其瓶颈在2次运算间的多余 IO 消耗. Spark 则是将数据一直缓存在内存中,直到计算得到最后的结果,再将结果写入到磁盘,所以多次运算的情况下, Spark 是比较快的. 其优化了迭代式工作负载 Hadoop的局限 Spark的改进 抽…
spark 运行架构基本由三部分组成,包括SparkContext(驱动程序),ClusterManager(集群资源管理器)和Executor(任务执行过程)组成. 其中SparkContext负责与ClusterManager通信,进行资源的申请.任务的分配.监控等,负责作业执行的声明周期管理.ClusterManager负责资源的分配和管理,在不同模式下担任的角色有所不同,在本地运行.Spark Standalone等运行模式中由Master提供,在YARN运行模式作用由Resource…
Spark MLlib架构解析 MLlib的底层基础解析 MLlib的算法库分析 分类算法 回归算法 聚类算法 协同过滤 MLlib的实用程序分析 从架构图可以看出MLlib主要包含三个部分: 底层基础:包括Spark的运行库.矩阵库和向量库: 算法库:包含广义线性模型.推荐系统.聚类.决策树和评估的算法: 实用程序:包括测试数据的生成.外部数据的读入等功能. MLlib的底层基础解析 底层基础部分主要包括向量接口和矩阵接口,这两种接口都会使用Scala语言基于Netlib和BLAS/LAPAC…
基本概念 在具体讲解Spark运行架构之前,需要先了解几个重要的概念: RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型: DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系: Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据: 应用:用户编写的Spark应用程序: 任务:运行在E…
原文引自:http://www.cnblogs.com/shishanyuan/p/4721326.html 1. Spark运行架构 1.1 术语定义 lApplication:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: lDriver:Spark中的Driver即运行上述Application的main()函数并且创建SparkC…
摘要: 1.基本术语 2.运行架构 2.1基本架构 2.2运行流程  2.3相关的UML类图  2.4调度模块: 2.4.1作业调度简介 2.4.2任务调度简介 3.运行模式 3.1 standalone模式 4.RDD实战 总结: 基本术语: Application:在Spark 上建立的用户程序,一个程序由一个驱动程序(Driver Program)和集群中的执行进程(Executer)构成. Driver Program:运行应用程序(Application)的main函数和创建Spark…
Spark 使用主从架构,有一个中心协调器和许多分布式worker. 中心协调器被称为driver.Driver 和被称为executor 的大量分布式worker 通信 Driver 运行在它自己的Java 进程,而每个executor 是单独的Java 进程.Driver 和它的所有executor 一起被称为Spark 应用. Spark 应用运行在一组使用被称为集群管理器的外部服务的机器上.注意,Spark 打包了一个内置的集群管理器,叫做Standalong 集群管理器.Spark 也…
本期内容 : Spark Streaming中的架构设计和运行机制 Spark Streaming深度思考 Spark Streaming的本质就是在RDD基础之上加上Time ,由Time不断的运行触发周而复始的接收数据及产生Job处理数据. 一. ReceiverTracker : Receiver数据接收器的启动.接收数据过程中元数据管理,元数据管理是使用内部的RPC. 根据时间的间隔把数据分配给当前的BatchDuration : 通过Dstreams中的StreamID以及这个DStr…
Spark SQL 与传统 DBMS 的查询优化器 + 执行器的架构较为类似,只不过其执行器是在分布式环境中实现,并采用的 Spark 作为执行引擎. Spark SQL 的查询优化是Catalyst,其基于 Scala 语言开发,可以灵活利用 Scala 原生的语言特性很方便进行功能扩展,奠定了 Spark SQL 的发展空间. Catalyst 将 SQL 语言翻译成最终的执行计划,并在这个过程中进行查询优化.这里和传统不太一样的地方就在于, SQL 经过查询优化器最终转换为可执行的查询计划…
摘要:本文则主要介绍TalkingData在大数据平台建设过程中,逐渐引入Spark,并且以Hadoop YARN和Spark为基础来构建移动大数据平台的过程. 当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆:同年,Spark Meetup在北京.上海.深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内容更涵盖Spark Core.Spark Streaming.Spark MLlib.Spark SQL等众多领域.而作…
转载自http://www.csdn.net/article/2015-06-08/2824889 http://www.zhihu.com/question/26568496 当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆:同年,Spark Meetup在北京.上海.深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内容更涵盖Spark Core.Spark Streaming.Spark MLlib.Spark SQL…
当下,Spark已经在国内得到了广泛的认可和支持:2014年,Spark Summit China在北京召开,场面火爆:同年,Spark Meetup在北京.上海.深圳和杭州四个城市举办,其中仅北京就成功举办了5次,内容更涵盖Spark Core.Spark Streaming.Spark MLlib.Spark SQL等众多领域.而作为较早关注和引入Spark的移动互联网大数据综合服务公司,TalkingData也积极地参与到国内Spark社区的各种活 动,并多次在Meetup中分享公司的Sp…
转载自: http://blog.csdn.net/swing2008/article/details/60869183 转自:http://www.cnblogs.com/tgzhu/p/5818374.html Apache Spark是一个围绕速度.易用性和复杂分析构建的大数据处理框架,最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一,与Hadoop和Storm等其他大数据和MapReduce技术相比,Spark有如下优势: Spark提…
一.基本概念 1.RDD Resillient Distributed Dataset 弹性分布式数据集 2.DAG 反映RDD之间的依赖关系 3.Executor 进程驻守在机器上面,由进程派生出很多的线程,然后去执行任务. 4.应用application 5.任务 6.作业Job 一个应用程序提交之后,会生成若干个作业,每个作业,会被切分成很多个任务子集,每个任务子集叫一个阶段.所以说一个作业包含多个RDD以及作用于相应RDD上的各种操作. 7.阶段stage 阶段是作业的基本调度单位,一个…
转载自http://www.shareditor.com/blogshow?blogId=96 机器学习.数据挖掘等各种大数据处理都离不开各种开源分布式系统,hadoop用于分布式存储和map-reduce计算,spark用于分布式机器学习,hive是分布式数据库,hbase是分布式kv系统,看似互不相关的他们却都是基于相同的hdfs存储和yarn资源管理,本文通过全套部署方法来让大家深入系统内部以充分理解分布式系统架构和他们之间的关系  请尊重原创,转载请注明来源网站www.sharedito…
Spark的分布式架构 如我们所知,spark之所以强大,除了强大的数据处理功能,另一个优势就在于良好的分布式架构.举一个例子在Spark实战--寻找5亿次访问中,访问次数最多的人中,我用四个spark节点去尝试寻找5亿次访问中,次数最频繁的ID.这一个过程耗时竟然超过40分钟,对一个程序来说,40分钟出结果这简直就是难以忍耐.但是在大数据处理中,这又是理所当然的.当然实际中不可能允许自己的程序在简单的仅处理五亿次访问中耗费如此之大的时间,因此考虑了分布式架构.(PS:当然处理5亿次请求的示例中…
此文为个人学习笔记如需系统学习请访问http://dblab.xmu.edu.cn/blog/1709-2/ 基本概念 *  RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型: *  DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系: *  Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为…
master为主节点 一个集群中可能运行多个application,因此也可能会有多个driver DAG Scheduler就是讲RDD Graph拆分成一个个stage 一个Task对应一个SparkEnv 客户端提交请求,然后master生成driver,生成对应的SparkContext,然后将任务拆分为多个RDD,对应上述流程 用户自定义Spark程序并且提交后,生成Driver Program,然后生成多个Job,每个JOB根据RDD的宽依赖关系来生成多个stage,一个stage对…
术语定义 Application:Spark Application的概念和Hadoop MapReduce中的类似,指的是用户编写的Spark应用程序,包含了一个Driver 功能的代码和分布在集群中多个节点上运行的Executor代码: Driver:Spark中的Driver即运行上述Application的main()函数并且创建SparkContext,其中创建SparkContext的目的是为了准备Spark应用程序的运行环境.在Spark中由SparkContext负责和Clust…
接上一篇:http://www.cnblogs.com/charlesblc/p/6108105.html 上一篇文章中主要参考的是 Link 这个系列下一篇讲的是Idea,没有细看,又看了再下一篇: http://www.cnblogs.com/shishanyuan/p/4721326.html 也就是这篇文章的主要参考文章. 关于RDD和Stage的区别,可以参考这张图 其中A, B, C这样的字母代表的就是RDD,虚线框就是Stage.之前提到,Stage划分,是看有没有shuffle这…
1.yarn-cluster模式: (1)client客户端提交spark Application应用程序到yarn集群. (2)ResourceManager收到了请求后,在集群中选择一个NodeManager来为应用程序分配container容器,并启动该应用程序的ApplicationMaster. (3)ApplicationMaster 向 ResourceManager 注册,并为各个任务申请container资源. (4)ApplicationMaster申请到资源后,便于对应的N…
一.内核剖析 1.内核模块 1.Application 2.spark-submit 3.Driver 4.SparkContext 5.Master 6.Worker 7.Executor 8.Job 9.DAGScheduler 10.TaskScheduler 11.ShuffleMapTask and ResultTask 2.图解 自己编写的Application,就是我们自己写的程序,拷贝到用来提交spark应用的机器,使用spark-submit提交这个Application,提交…
  首先会将jar包上传到机器(服务器上)     1.在这台机器上会产生一个Application(也就是自己的spark程序)     2.然后通过spark-submit(shell) 提交程序的时候         2.1会启动一个driver(进程):spark-submit使用我们之前一直使用的那种提交模式去提交的时候,我们之前的提交模式,叫做Standalone,其实会通过反射的方式,创建和构造一个DriverActor进程出来         driver进程会执行我们的Appl…
本文转之Pivotal的一个工程师的博客.觉得极好.   作者本人经常在StackOverflow上回答一个关系Spark架构的问题,发现整个互联网都没有一篇文章能对Spark总体架构进行很好的描述,作者可怜我们这些菜鸟,写了这篇文章,太感动了.本文读者需要一定的Spark的基础知识,至少了解Spark的RDD和DAG. 上图引入了很多术语:"Executor","Task","Cache","Worker Node"等等,当…