SPARK大数据处理引擎(初级).ppt_第1页
SPARK大数据处理引擎(初级).ppt_第2页
SPARK大数据处理引擎(初级).ppt_第3页
SPARK大数据处理引擎(初级).ppt_第4页
SPARK大数据处理引擎(初级).ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

云软件组 陈修恒,SPARK 大数据处理引擎,Spark,一、Apache Spark 项目 三、Spark 技术架构 四、Spark 核心技术 五、部署方式 六、运行流程 七、配置要求,Hadoop生态系统,Ambari (安装、部署、配置和管理工具),zookeeper 分布式协作服务,HBase (实时分布式数据库),Hive (数据仓库),Pig (数据流处理),Mahout (数据挖掘库),MapReduce (分布式计算框架),HDFS (分布式文件系统),Flume (日志收集工具),Sqoop (数据库ETL工具),Apache Hadoop 项目,Common HDFS 一个部署在廉价的机器上、具有高度容错性的文件系统 YARN 资源调度引擎 MapReduce 基于YARN调度引擎的大数据并行处理系统,A YARN-based system for parallel processing of large data sets.,Apach Spark 项目,Spark是一个快速通用的大规模数据处理框架。具有Hadoop的批处理能力,而且性能更佳。可以用于流处理、Sql统计、机器学习和图计算。,Apach Spark 项目,Apache SparkTM is a fast and general engine for large-scale data processing,Apache SparkTM 是一个快速、通用的大数据处理引擎,Apache SparkTM 是Hadoop MapReduce的改进版,Spark VS Hadoop MapReduce,Spark 技术架构,Kafka/HDFS/TCP/Flume/ZeroMQ/MQTT/Twiter,Spark,RDD,MapReduce,函数式编程接口,Amazon EC2/Mesos/YARN,由Scala编写,支持函数式编程。,支持多种数据源接入。,RDD-弹性分布式数据集,Spark将数据分布到多台机器的内存中进行并行计算。,Spark 不具备集群管理能力,需要别的软件进行管理。,支持流式运算,可以从kafka等数据源不断的获取数据,并按时间切片处理。,Spark 核心技术,MapReduce 编程模型 Spark RDD Spark 运行流程 Spark Transformation & Action Spark Shuffle Spark Streaming Spark SQL Spark Mllib Spark GraphX,MapReduce 编程模型,任何运算都可以分解成“Map(映射)“和“Reduce(归约)“两类操作,MapReduce 编程模型,词频统计,to be or not to be,to: 2 be: 2 or: 1 not:1,统计算法,to be or not to be,MapReduce 编程模型,示例:词频统计,MapReduce 代码预览,to,be,or,not,to,be,to be or not to be,输出结果,MapReduce 编程模型,海量数据,结算结果,数据划分,中 间 结 果,MapReduce 编程模型,任何运算都可以分解成“Map(映射)“和“Reduce(归约)“两类操作,MapReduce 编程模型,任何运算都可以分解成“Map(映射)“和“Reduce(归约)“两类操作,MapReduce 系统,数据划分和计算任务调度 出错检测和恢复 数据/代码互定位 系统优化,Spark RDD,RDD(Resilient Distributed Dataset,弹性分布式数据集),他具高度的容错性,允许开发人员在大型集群上执行基于内存的计算。 RDD是一个只读的分区存储集合。只能基于稳定物理存储中的数据集或在已有的RDD上执行转换命令(Transformation)来创建。 RDD不需要物化。在创建 RDD 时Spark会维护转换算法。需要使用时,可以从物理存储的数据计算出最终的 RDD。 Spark操纵数据的一个高度抽象,是数据抽取和处理的基础。,worker,worker,worker,Spark 运行流程,RDD(分布式数据集),第 20 / 40 页,master,client,submit,driver,executor,executor,worker,worker,worker,Spark 运行流程,RDD(分布式数据集),第 21 / 40 页,master,client,submit,driver,executor,executor,Spark Transformation & Action,Transformations,Actions,将一个已经存在的RDD中转换成一个新的RDD,所有的转换操作都是lazy执行的。,一般用于对RDD中的元素进行实际的计算,然后返回相应的值。,Spark Shuffle,1、每一个Mapper会根据Reducer的数量创建出相应的bucket,bucket的数量是MR,其中M是Map的个数,R是Reduce的个数。,2、Mapper产生的结果会根据设置的partition算法填充到每个bucket中去。这里的partition算法是可以自定义的,当然默认的算法是根据key哈希到不同的bucket中去。,3、当Reducer启动时,它会根据自己task的id和所依赖的Mapper的id从远端或是本地的block manager中取得相应的bucket作为Reducer的输入进行处理。,Spark Streaming,持续的从输入源读取数据 根据数据推送的时间,按时间段切片 把切片包装成 RDD,执行Map + Reduce 计算 通过 RDD.collect() 函数收集计算结果,Spark Streaming,设置批量处理频率:1s 一次,打开 kafka 输入,Spark Streaming,JavaStreamingContext jssc; jssc = new JavaStreamingContext(conf, Dliseconds(1000);,Spark Streaming,JavaStreamingContext jssc; jssc = new JavaStreamingContext(conf, Dliseconds(300);,Spark Streaming,JavaStreamingContext jssc; jssc = new JavaStreamingContext(conf, Dliseconds(3);,Spark Streaming 不适合即时计算,Spark SQL,处理结构化数据 把结构数据抽象成 DataFrame 工作方式:分布式SQL查询引擎,Spark Mllib,机器学习库 目标:简化机器学习过程,提供可扩展性 提供基本的机器学习算法和功能,包括: 分类、 回归、 聚类、 协同过滤、 降维。 提供底层优化 提供管道化API,Spark GraphX,并行的图计算,三、部署方式,Standalone模式 独立模式,自己负责资源调度。单点故障借助 zookeeper实现。 Spark On Mesos Spark运行在Mesos上,支持 CPU 非独占,资源由Mesos负责管理。 Spark On Yarn 资源由Yarn负责管理,最有前景的部署模式,支持动态添加资源。但是限于YARN自身发展,目前仅支持粗粒度模式。 Spark On cloud 如 AWS的EC2,使用这种模式,访问Amazon的S3很方便。,standalone 模式,(Stondalone 模式)启动多个Master并注册到 Zookeeper 集群中,并保存状态。其中一个会被选为Leader,其余的保持Standby模式,当Leader故障,则选择另一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论