第1章 Spark概述电子课件_第1页
第1章 Spark概述电子课件_第2页
第1章 Spark概述电子课件_第3页
第1章 Spark概述电子课件_第4页
第1章 Spark概述电子课件_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

Spark概述大数据技术及人工智能的蓬勃发展,促进了我国经济更快更好地进入高质量发展阶段。基于开源技术的Hadoop分布式框架在行业中的应用十分广泛,但是Hadoop本身还存在诸多缺陷,主要的缺陷是Hadoop的MapReduce分布式计算框架在计算时延迟过高,无法满足实时、快速计算的需求。Spark继承了MapReduce分布式计算的优点并改进了MapReduce的明显缺陷。与MapReduce不同的是,Spark的中间输出结果可以保存在内存中,从而大大减少了读写Hadoop分布式文件系统(HadoopDistributedFileSystem,HDFS)的次数,因此Spark能更好地适用于数据挖掘与机器学习中迭代次数较多的算法。本章的任务如下。介绍Spark的发展历史、特点、生态圈及应用场景,详细介绍3种不同模式的Spark环境搭建过程,简要介绍Spark的运行架构与原理。任务背景1搭建Spark集群目录认识Spark2了解Spark运行架构与原理3学习Spark编程之前,首先应该对Spark的理论知识有一定的了解,本节的任务如下。了解Spark的发展历史、特点。认识Spark的生态圈。了解Spark的应用场景。任务描述了解Spark的发展历史一般情况下,对于迭代次数较多的应用程序,Spark程序在内存中的运行速度是HadoopMapReduce运行速度的100多倍,在磁盘上的运行速度是HadoopMapReduce运行速度的10多倍。了解Spark的特点1.快速了解Spark的特点1.快速Spark支持使用Scala、Python、Java及R语言快速编写应用。同时Spark提供超过80个高阶算子,使得编写并行应用程序变得容易,并且可以在Scala、Python或R的交互模式下使用Spark。了解Spark的特点2.易用性Spark可以与SQL、Streaming及复杂的分析良好结合。Spark还有一系列的高级工具,包括SparkSQL、MLlib(机器学习库)、GraphX(图计算)和SparkStreaming(流计算),并且支持在一个应用中同时使用这些组件。了解Spark的特点3.通用性用户可以使用Spark的独立集群模式运行Spark,也可以在EC2(亚马逊弹性计算云)、HadoopYARN或者ApacheMesos上运行Spark。并且可以从HDFS、Cassandra、HBase、Hive、Tachyon和任何分布式文件系统读取数据。了解Spark的特点4.随处运行了解Spark的特点sc.textFile("/user/root/a.txt").flatMap(_.split("")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/user/root/output")5.代码简洁认识Spark的生态圈认识Spark的生态圈SparkCoreSpark的核心,提供底层框架及核心支持。BlinkDB一个用于在海量数据上进行交互式SQL查询的大规模并行查询引擎,允许用户通过权衡数据精度缩短查询响应时间,数据的精度将被控制在允许的误差范围内。SparkSQL可以执行SQL查询,支持基本的SQL语法和HiveQL语法,可读取的数据源包括Hive、HDFS、关系数据库(如MySQL)等。认识Spark的生态圈Spark

Streaming可以进行实时数据流式计算。输入流式数据输入小段数据处理后的小段数据SparkStreamingSparkEngine认识Spark的生态圈MLBase是Spark生态圈的一部分,专注于机器学习领域,学习门槛较低。MLBase由4部分组成:MLlib、MLI、MLOptimizer和MLRuntime。MLlib部分算法如下。SparkGraphX图计算的应用在很多情况下处理的数据量都是很庞大的。如果用户需要自行编写相关的图计算算法,并且在集群中应用,难度是非常大的。而使用GraphX即可解决这个问题,因为它内置了许多与图相关的算法,如在移动社交关系分析中可使用图计算相关算法进行处理和分析。SparkRAMPLab发布的一个R语言开发包,使得R语言编写的程序不只可以在单机运行,也可以作为Spark的作业运行在集群上,极大地提升了R语言的数据处理能力。认识Spark的

生态圈

广点通是最早使用Spark的应用之一。腾讯大数据精准推荐借助Spark快速迭代的优势,围绕“数据+算法+系统”这套技术方案,实现了在“数据实时采集、算法实时训练、系统实时预测”的全流程实时并行高维算法,最终成功应用于广点通pCTR投放系统上,支持每天上百亿的请求量。了解Spark的应用场景腾讯广告Yahoo将Spark用在AudienceExpansion中。AudienceExpansion是广告中寻找目标用户的一种方法,首先广告者提供一些观看了广告并且购买产品的样本客户,据此进行学习,寻找更多可能转化的用户,对他们定向广告。Yahoo采用的算法是LogisticRegression。同时由于某些SQL负载需要更高的服务质量,又加入了专门跑Shark的大内存集群,用于取代商业BI/OLAP工具,承担报表/仪表盘和交互式/即席查询,同时与桌面BI工具对接。了解Spark的应用场景Yahoo

淘宝技术团队使用了Spark来解决多次迭代的机器学习算法、高计算复杂度的算法等,将Spark运用于淘宝的推荐相关算法上,同时还利用GraphX解决了许多生产问题,包括以下计算场景:基于度分布的中枢节点发现、基于最大连通图的社区发现、基于三角形计数的关系衡量、基于随机游走的用户属性传播等。了解Spark的应用场景淘宝

目前Spark已经广泛使用在优酷土豆的视频推荐,广告业务等方面,相比Hadoop,Spark交互查询响应快,性能比Hadoop提高若干倍。一方面,使用Spark模拟广告投放的计算效率高、延迟小(同Hadoop比延迟至少降低一个数量级)。另一方面,优酷土豆的视频推荐往往涉及机器学习及图计算,而使用Spark解决机器学习、图计算等迭代计算能够大大减少网络传输、数据落地等的次数,极大地提高了计算性能。了解Spark的应用场景优酷土豆1搭建Spark集群目录认识Spark2了解Spark运行架构与原理3Spark集群的环境可分为单机版环境、单机伪分布式环境和完全分布式环境。本节的任务如下。学习如何搭建不同模式的Spark集群。查看Spark的服务监控。任务描述搭建Spark集群软件环境软

件版

本安

包VMware15VMware-workstation-full-15.5.6-16341506.exeSSH连接工具5Xme5.exeLinuxOSCentOS7.8CentOS-7-x86_64-DVD-2003.isoJDK1.8+jdk-8u281-linux-x64.rpmHadoop3.1.4hadoop-3.1.4.tar.gzHive3.1.2apache-hive-3.1.2-bin.tar.gzSpark3.2.1spark-3.2.1-bin-hadoop2.7.tgzIntelliJIDEA3.6ideaIC-2018.3.6.exe下载Spark安装包到Windows本地。将Spark安装包上传到Linux的/opt目录下。将Spark安装包解压到/usr/local目录下。进入到Spark安装包的bin目录下,使用SparkPi来计算Pi的值,其中参数2是指两个并行度,运行结果如下。搭建单机版集群Spark单机伪分布式是在一台机器上既有Master,又有Worker进程。搭建Spark单机伪分布式环境可在Hadoop伪分布式的基础上进行搭建。搭建Spark单机伪分布式集群的步骤如下。将Spark安装包解压到/usr/local目录下。进入到Spark安装包的conf目录下,将spark-env.sh.template复制为spark-env.sh。打开spark-env.sh文件,在文件末尾添加如下所示的内容。目录切换到sbin目录下启动集群。jps查看进程。使用计算SparkPi来计算Pi的值。搭建单机伪分布式集群搭建完全分布式集群集群的拓扑图MasterSlave1Slave3搭建完全分布式集群搭建Spark完全分布式集群的步骤如下。将Spark安装包解压至/usr/local目录下。切换至Spark安装目录的/conf目录下。配置文件。在主节点(master节点)中,将配置好的Spark安装目录远程复制至子节点(slave1、slave2节点)的/usr/local目录下。启动Hadoop集群,并创建/spark-logs目录。jps查看进程。切换至Spark安装目录的/sbin目录下,启动Spark集群。Slave3Spark配置文件搭建完全分布式集群可执行命令启动关闭集群命令配置文件日志JAR文件搭建完全分布式集群配置文件解读Spark主节点的IPSpark主节点的端口号设置每个节点能给予executors的所有内存设置每台机器所用的核数每个Executor的内存每个Executor的核数每个节点的实例(设置每个节点的worker进程)spark-env.shworkerSpark安装配置配置文件解读每行代表一个子节点的主机名搭建完全分布式集群spark-defaults.conf配置文件解读Spark主节点所在机器及端口,spark://默认写法是否打开任务日志功能,默认为false,即不打开任务日志默认存放位置,配置为一个HDFS路径即可存放历史应用日志文件的目录启动Sparkcd/usr/local/spark-3.2.1-bin-hadoop2.7/sbin/start-all.shsbin/start-history-server.sh关闭Sparkcd/usr/local/spark-3.2.1-bin-hadoop2.7/sbin/stop-all.shsbin/stop-history-server.sh搭建完全分布式集群启动关闭Spark搭建完全分布式集群Spark监控——http://master:8080Spark监控——http://master:18080搭建完全分布式集群1搭建Spark集群目录认识Spark2了解Spark运行架构与原理3Spark集群为用户学习Spark编程提供Spark程序的运行环境。但学习Spark编程前,还需要理解Spark的运行架构及原理。本节的任务如下。了解Spark的架构。了解Spark作业的运行流程。了解Spark的核心数据集RDD。任务描述了解Spark架构客户端用户提交作业的客户端。Driver运行Application的main()函数并创建SparkContext。SparkContext整个应用的上下文,控制应用的生命周期。了解Spark架构基本组件Cluster

Manager资源管理器,即在集群上获取资源的外部服务,目前主要有Standalone(Spark原生的资源管理器)和YARN(Hadoop集群的资源管理器)。SparkWorker集群中任何可以运行应用程序的节点,运行一个或多个Executor进程。了解Spark架构基本组件Executor执行器,在SparkWorker上执行任务的组件、用于启动线程池运行任务。每个Application拥有独立的一组Executor。Task被发送到某个Executor的具体任务。了解Spark架构基本组件了解Spark作业运行流程Standalone模式运行流程yarn-clientyarn-cluster了解Spark作业运行流程Spark

on

YARN了解Spark作业运行流程yarn-cluster

温馨提示

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

评论

0/150

提交评论