Spark:分布式并行计算框架PPT教学课件

上传人:日度 文档编号:133588568 上传时间:2020-05-28 格式:PPTX 页数:41 大小:1.21MB
返回 下载 相关 举报
Spark:分布式并行计算框架PPT教学课件_第1页
第1页 / 共41页
Spark:分布式并行计算框架PPT教学课件_第2页
第2页 / 共41页
Spark:分布式并行计算框架PPT教学课件_第3页
第3页 / 共41页
Spark:分布式并行计算框架PPT教学课件_第4页
第4页 / 共41页
Spark:分布式并行计算框架PPT教学课件_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《Spark:分布式并行计算框架PPT教学课件》由会员分享,可在线阅读,更多相关《Spark:分布式并行计算框架PPT教学课件(41页珍藏版)》请在金锄头文库上搜索。

1、Spark 分布式并行计算框架 1 内容简介 Spark是什么Spark的发展历程Spark能干什么Spark的适用场景Spark的特点Spark生态系统Spark运行模式Spark高可用Spark核心概念 RDDSpark集群搭建Spark与Hadoop整合Spark应用部署模式 2 Spark是什么 Spark是一个基于内存计算的开源的分布式集群并行计算系统Spark非常小巧玲珑 由加州伯克利大学AMP实验室的Matei为主的小团队所开发 使用的语言是Scala 运行在JVM上 项目的core部分的代码只有63个Scala文件 非常短小精悍 是继Hadoop之后的新一代大数据分布式处理框架

2、目前Spark在全球已有广泛的应用 其中包括Alibaba Baidu TencentYouku IBM Intel 雅虎等 3 Spark发展历程 Spark诞生于2009年 那时候它是 加州大学伯克利分校RAD实验室的一个研究项目 后来到了AMP实验室 Spark最初是基于HadoopMapreduce的 后来发现Mapreduce在迭代式计算和交互式上是低效的 因此Spark进行了改进 引入了内存存储和高容错机制 关于Spark的研究论文在学术会议上发表 并且在它被创建的2009年不久之后 对于一些特定的工作 Spark比Mapreduce快10 20倍 2010年3月份Spark开源

3、2011年 AMP实验室开始在Spark上面开发高级组件 像Shark HiveonSpark SparkStreaming 2013年转移到了Apache下 现在已经是顶级项目了 2014年5月份Spark1 0发布 目前 发布最新版Spark1 6 1Spark在7年内迅速发展 较于其他大数据平台或框架 Spark代码库最为活跃 4 Spark发展历程 5 Spark能干什么 大规模数据处理 例如用户行为数据 电子商务平台用户的操作行为记录 放进Spark系统 然后对数据进行多维度的分析 发现潜在客户 个性化推荐商品流数据处理 图计算 社交网络机器学习 协同过滤 6 Spark的适用场景

4、Spark是基于内存的迭代计算框架 适用于需要多次操作特定数据集的应用场合 需要反复操作的次数越多 所需读取的数据量越大 受益越大 数据量小但是计算密集度较大的场合 受益就相对较小由于RDD的特性 Spark不适用那种异步细粒度更新状态的应用 例如web服务的存储或者是增量的web爬虫和索引 就是对于那种增量修改的应用模型不适合数据量不是特别大 但是要求实时统计分析需求 7 Spark特点 Spark是快速的很多任务能够秒级完成 对于一些特定的工作 Spark比Mapreduce快10 20倍 Spark扩充了流行的Mapreduce计算模型 使Spark更高效地支持更多类型的计算 包括交互式

5、查询 和流处理 速度快的另一个主要原因就是 能够在内存中计算 官方提供的数据表明 如果数据由磁盘读取 速度是HadoopMapReduce的10倍以上 如果数据从内存中读取 速度可以高达100多倍 8 Spark特点 Spark是易用的Spark不仅支持Scala编写应用程序 而且支持Java和Python Python R等语言进行编写 9 Spark特点 Spark是通用的Spark的设计 容纳了之前很多独立的 分布式系统所拥有的功能 独立的分布式系统包括 批处理 迭代式计算 交互查询和流处理等 并且 由之前需要维护不同的集群 到现在只需要维护一个Spark集群 Spark生态圈即BDAS

6、 伯克利数据分析栈 包含了SparkCore SparkSQL SparkStreaming MLLib和GraphX等组件 这些组件分别处理SparkCore提供内存计算框架 SparkStreaming的实时处理应用 SparkSQL的即席查询 MLlib或MLbase的机器学习和GraphX的图处理 它们都是由AMP实验室提供 能够无缝的集成并提供一站式解决平台 10 Spark特点 Spark是开放的Spark提供了Java Scala Python R SQL的API和丰富的内置库 同时 Spark和其它的大数据工具整合的很好 尤其 Spark能够运行在Hadoop集群上面 能够访问

7、Hadoop数据 11 Spark特点 Spark随处运行Spark具有很强的适应性 能够读取HDFS Cassandra HBase S3和Techyon为持久层读写原生数据 能够以Mesos YARN和自身携带的Standalone作为资源管理器调度job 来完成Spark应用程序的计算 12 Spark生态系统 13 Spark生态系统 Spark生态圈也称为BDAS 伯克利数据分析栈 是伯克利APMLab实验室打造的 力图在算法 Algorithms 机器 Machines 人 People 之间通过大规模集成来展现大数据应用的一个平台 伯克利AMPLab运用大数据 云计算 通信等各种

8、资源以及各种灵活的技术方案 对海量不透明的数据进行甄别并转化为有用的信息 以供人们更好的理解世界 该生态圈已经涉及到机器学习 数据挖掘 数据库 信息检索 自然语言处理和语音识别等多个领域 Spark生态圈以SparkCore为核心 从HDFS AmazonS3和HBase等持久层读取数据 以MESS YARN和自身携带的Standalone为资源管理器调度Job完成Spark应用程序的计算 这些应用程序可以来自于不同的组件 如SparkShell SparkSubmit的批处理 SparkStreaming的实时处理应用 SparkSQL的即席查询 BlinkDB的权衡查询 MLlib MLb

9、ase的机器学习 GraphX的图处理和SparkR的数学计算等等 14 Spark生态系统 Spark生态系统学习 维护成本很低 要实现一个相对完整的端到端的解决方案 以前需要部署多个专有系统 现在只需要一个SparkSparkCore对应HadoopMRSparkSQL对应HiveSparkStreaming对应StromSparkGraphX对应GiraphSparkMLLib对应Mahout 15 Spark运行模式 Spark目前主要有4种运行模式Local N 模式 适用N个线程 用于调试 Localcluster伪分布式模式 可以配置worker数量 每个worker管理的cpu

10、和内存 用于调试StandaloneCluster集群模式 Spark hostname port 需要部署spark到相关节点 url为master地址和端口YARNCluster模式 运行在资源管理器yarn集群中MesosCluster模式 运行在资源管理器Mesos集群中 16 Spark运行模式 17 Spark运行模式 18 Spark运行模式 Client提交driver的终端 可以是集群中的任何一个node 也可以是spark集群外的机器 甚至是调试程序的IdeDriver就是用户提交的程序 这里边定义了SparkContext的实例SparkContext初始化过程中Spar

11、k会分别创建DAGScheduler作业调度和TaskScheduler任务调度两级调度模块DAGScheduler是基于任务模块的高层调度模块 为每个Spark作业 job 计算具有依赖关系的多个调度模块 通常根据shuffle来划分 然后为每个阶段构建出一组具体的任务 Task 即任务集TaskSet交给TaskScheduler来具体执行TaskScheduler则负责具体启动任务 监控和汇报任务运行情况DAGScheduler和TaskScheduler都是不同阶段的调度者 具体执行任务的是ExectorMaster接收Client提交的作业 管理Worker 并命令Worker启动D

12、river和ExecutorWorker负责管理本节点的资源 定期向Master汇报心跳 接收Master的命令 比如启动Driver和Executor 19 Spark高可用 Spark采用了Master Slaves架构的集群模式 因此 存在着Master单点故障 基于文件系统的单点恢复此模式下虽然可以恢复 但需要人工参与 因此 适合对高可用要求不高的场景 如果离线分析 当Master挂掉后 手工启动Master仍然能继续执行原来的任务 当然 也可以继续提交任务exportSPARK DAEMON JAVA OPTS Dspark deploy recoveryMode FILESYSTE

13、M Dspark deploy recoveryDirectory opt spark recovery 基于ZooKeeper的HASparkStandalone使用多个Master节点 通过ZooKeeper推举一个为Active 激活 状态 其它的均为Standby 备用 状态 当ActiveMaster节点挂掉后 ZooKeeper会从所有的StandbyMater中推举会一个新的ActiverMaster 新的ActiveMaster恢复到旧有的ActiveMaster的状态 然后恢复调度 从ActiverMaster失去作用 到新ActiveMaster恢复调度可能需要1 2分钟

14、exportSPARK DAEMON JAVA OPTS Dspark deploy recoveryMode ZOOKEEPER Dspark deploy zookeeper url 10 154 2181 10 153 2181 10 152 2181 10 154 2181 Dspark deploy zookeeper dir spark 20 Spark核心概念 RDD 什么是RDDSpark的核心概念是RDD resilientdistributeddataset 是一个只读的 可分区的分布式数据集 这个数据集的全部或部分可以缓存在内存中 在多次计算间重用 一种有容错机制的特殊集

15、合 可以分布在集群的节点上 以函数式编程操作集合的方式 进行各种并行操作分布式的 可以分布在多台机器上 进行计算弹性的 计算过程中内存不够时它会和磁盘进行数据交换 21 Spark核心概念 RDD RDD创建操作 creationoperation 集合创建 由内部集合生成 Spark中提供了parallelize和makeRDD两类函数来实现从集合生成RDD varrdd sc makeRDD 1to10 3 存储创建 从文件存储 文本文件 hdfs 数据库 hbase mongodb 消息队列 kafka 等获得数据并转换成RDD 22 Spark核心概念 RDD RDD转换操作 tran

16、sfermationoperation 把一种RDD变成另一种新的RDD 如 map func 返回一个新的分布式数据集 由每个原元素经过func函数转换后组成filter func 返回一个新的数据集 由经过func函数后返回值为true的原元素组成flatMap func 类似于map 但是每一个输入元素 会被映射为0到多个输出元素 因此 func函数的返回值是一个Seq 而不是单一元素 23 Spark核心概念 RDD RDD控制操作 controloperation 在spark中持久化操作是一种重要的功能 可以将RDD存储在不同层次的存储介质中 以便后续的操作能够重复使用 如 cache persist 24 Spark核心概念 RDD RDD行动操作 actionoperation 行动操作是和转换操作相对应的一种对RDD的操作类型 在Spark中每调用一次行动操作都会触发一次Spark的调度并返回相应的结果将变量或集合返回给driver程序 如 first count reduce 将RDD直接保存到外部文件系统或数据库 如HDFS 文本文件 hbasesaveAsTes

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号