●9:2sa生态系统 spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐 形成了一套完整的生态系统 ˉ既能够提供内存计算框架,也可以支持SQL即席査询、实时流式计 算、机器学习和图计算等 Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决 方案 因此, Spark所提供的生态系统足以应对上述三种场景,即同时支 持批处理、交互式査询和流数据处理 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.2 Spark生态系统 •Spark的设计遵循“一个软件栈满足不同应用场景”的理念,逐渐 形成了一套完整的生态系统 •既能够提供内存计算框架,也可以支持SQL即席查询、实时流式计 算、机器学习和图计算等 •Spark可以部署在资源管理器YARN之上,提供一站式的大数据解决 方案 •因此,Spark所提供的生态系统足以应对上述三种场景,即同时支 持批处理、交互式查询和流数据处理
9.2Spak生态系统 Spark生态系统已经成为伯克利数据分析软件栈BDAS( Berkeley Data Analytics Stack)的重要组成部分 Access and Spark BlinkDB MLBase Interfaces Streaming Spark SQL GraphX MLlib Processing Spark Core Engine Tachyon Storage HDFS. S3 Resource esos Hadoop yarn Virtualization 图164BDAS架构 Spark的生态系统主要包含了 Spark Core、 Spark SQL、 Spark Streaming、 MLLib和 GraphX等组件 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.2 Spark生态系统 Resource Virtualization Storage Processing Engine Mesos Hadoop Yarn HDFS, S3 Tachyon Spark Core Access and Interfaces Spark Streaming Spark SQL BlinkDB GraphX MLlib MLBase Spark的生态系统主要包含了Spark Core、Spark SQL、Spark Streaming、 MLLib和GraphX 等组件 图16-4 BDAS架构 Spark生态系统已经成为伯克利数据分析软件栈BDAS(Berkeley Data Analytics Stack)的重要组成部分
●9:2sa生态系统 表1 Spark生态系统组件的应用场景 应用场景时间跨度其他框架 Spark生态系统中的组件 复杂的批量数据处小时级 Mapreduce、 Hive Spark 理 基于历史数据的交分钟级、秒 Impala、 Dremel、| Spark SQl 互式查询 级 Drill 基于实时数据流的|毫秒、秒级|Sorm、S4 Spark streaming 数据处理 基于历史数据的数 Mahout MLlib 据挖掘 图结构数据的处理|- Pregel、Hama GraphX 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.2 Spark生态系统 应用场景 时间跨度 其他框架 Spark生态系统中的组件 复杂的批量数据处 理 小时级 MapReduce、Hive Spark 基于历史数据的交 互式查询 分钟级、 秒 级 Impala、Dremel、 Drill Spark SQL 基于实时数据流的 数据处理 毫秒、秒级 Storm、S4 Spark Streaming 基于历史数据的数 据挖掘 - Mahout MLlib 图结构数据的处理 - Pregel、Hama GraphX 表1 Spark生态系统组件的应用场景
9.3Spak运行架构 9.31基本概念 9.32架构设计 9.33Spak运行基本流程 9.34 Spark运行原理 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.3 Spark运行架构 9.3.1 基本概念 9.3.2 架构设计 9.3.3 Spark运行基本流程 9.3.4 Spark运行原理
●931基本概念 RDD:是 Resillient distributed dataset(弹性分布式数据集)的简称,是分布 式内存的一个抽象概念,提供了一种高度受限的共享内存模型 DAG:是 Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依 赖关系 xecutor:是运行在工作节点( Worker Node)的一个进程,负责运行Task Application:用户编写的Spak应用程序 Iask:运行在 Executor上的工作单元 Job:一个Job包含多个RDD及作用于相应RDD上的各种操作 Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为 Stage,或者也被称为 Task Set,代表了一组关联的、相互之间没有 Shuffle依 赖关系的任务组成的任务集 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 9.3.1 基本概念 •RDD:是Resillient Distributed Dataset(弹性分布式数据集)的简称,是分布 式内存的一个抽象概念,提供了一种高度受限的共享内存模型 •DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依 赖关系 •Executor:是运行在工作节点(WorkerNode)的一个进程,负责运行Task •Application:用户编写的Spark应用程序 •Task:运行在Executor上的工作单元 •Job:一个Job包含多个RDD及作用于相应RDD上的各种操作 •Stage:是Job的基本调度单位,一个Job会分为多组Task,每组Task被称为 Stage,或者也被称为TaskSet,代表了一组关联的、相互之间没有Shuffle依 赖关系的任务组成的任务集