《《Spark大数据技术与应用案例教程》教案第1课搭建spark单机环境.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第1课搭建spark单机环境.docx(6页珍藏版)》请在优知文库上搜索。
1、Spark大数据技术与应用案例教程教案课时分配表章序课程内容课时备注1Spark入门62SparkRDD弹性分布式雌集83SparkSQL结构化数据处理84SparkStreaming实时计算框架65SparkMLlib机器学习库86GraphFratnes图计算框架47综合案例一分析银行个人信贷业务数据8酎48课即搭建SPark单机环境课时2课时(90min)教学目标知识技能目标:(1)认识Spark的发展历程(2)了解SPark的特点(3)认识Spark的应用场景素质目标:增强学生遵守规则的意识,养成按规矩行事的习惯。加强学生基础知识的学习,实现从量变到质变的转化,为个人的长远发展打卜基础
2、。教学重睚点教学重点:认识并了解Spark的特点和应用场景教学难点:能独立搭建Spark单机环境教学方法案例分析法、问答法、讨论法、i并授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家了解Spark的发展历程。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因新课预热【教师】自我介绍,与学生简单互动,介绍课程内容、考核标准等【学生】聆听、互动【教师】讲一些大数据技术在一些行业领域(如电商行业)的应用并解释大数据技术的作用电商行业是最早将大
3、数据用于精准营销的行业,它可以根据消费者的习惯提前生产物料和物流管理,这样有利于美好社会的精细化生产。随着电子商务的越来越集中,大数据在行业中的数据量变得越大,并粗种类非常多。在未来的发展中,大数据在电子商务中有大多的想象,其中主要包括预测趋势,消费趋势,区域消费特征,顾客消费习惯,消费者行为,消费热点和影响消费的重要因素。【学生】聆听、记录、理解问题导入【教师】提出以下问题:你在处理大量数据时,常采用的工具是什么?【学生】思考、举手回答【教师】通过学生的回答引入要讲的知识传授新知【教师】通过学生的回答引入要讲的知识,介绍SPark的发展历程、特点及其应用场景一、Spark的发展历程【教师】讲
4、解SPark的发展历程Spark官方网站对其的定义是ApacheSpark是专为大规模雌处理而设计的快速通用的计算引擎由于Spark是UCBerkeleyAMPlaboratory(加州大学伯克利分校的AMP实验室)FF源的类HadoopMapReduce的通用并行框架,但不同于HadOoPM叩RedUCe的是Spark处理数据时中间数据尽可能保存在内存中.因此,也可以将SPark理解为一个基于内存计算、支持分布式计算和并行计算的大数据处理框架。SPark提供了丰富的工具和API,可以用于结构化数据处理、流数据处理、机器学习及图形处理等多种场景。Spark的发展历程如表1-I所示。时间点说明2
5、009年Spark作为一个研究项目诞生于伯克利大学的AMP实验室,该项目的目标是提供一个更快、更灵活、更易用的分布式计算框架,以便更好地进行大规模数据处理和机器学习等任务2010年SPark正式发布开源代码2013年Spark成为Apache软件基金会的孵化器项目,解决了一些bug,增加了新的功能,并改进了可用性问题2014年Spark成为Apache软件基金会的顶级开源项目之一,并发布了第一个稳定版本SPark1.0.0.在SPark1.0.x系列版本中SParkSQL、SparkStreaming,MLlib和GraphX都增加了新特性并进行了优化2015年Spark1.5.x系列版本发布
6、,提升了Spark的性能,增加了一些机器学习算法和工具等,使得Spark变得更为全面和强大2016年Spark2.0.x系列版本发布,大幅度改进了APl兼容性和查询优化器,支持结构化的流数据处理2017年Spark2.2.x系列版本发布,更新内容主要针的是系统的可用性、稳定性及代码润色2018年Spark2.4.x系列版本发布,进一步改进了流数据处理和机器学习功能,并集成了更多的深度学习框架2020年Spark3.0.0版本发布,能够更好地支持Python和R语言,并提供了更强大的分布式SQL查询引擎。同时,Spark也加强了与ApacheArrow、DeliaLake等数据处理技术的集成20
7、21年Spark3.1.1版本发布,提升了PyihOn的可用性,增强了ANSISQL兼容性,加强了查询优化等2022年SPark3.3.0版本发布,提升了查询性能,简化了从传统数据仓库的迁移,提升了效率等2023年Spark3.4.0版本为SparkConnect引入了Python客户端,增强了结构化数据流,增加了PandasAPI的覆盖范围,提供了Numpy输入支持,并通过内存分析提高了开发效率和可调用性等表1-1Spark的发展历程(详见教材)二、SPark的特点【教师】讲解SPark的特点Spark是与HadoopMapReduce类似的通用并行计算框架,它拥有HadoopMapRedu
8、ce所具有的优点,如高可靠、高扩展、高容错等。同时,Spark还兼容HDFSnHive等,可以很好地与Hadoop系统融合,从而弥补HadoopMapReduce高延迟的性能缺点。Spark的特点可以归纳为以下几点。(1)速度快。与Hadoop相比,Spark基于内存的运算效率快了100倍以上,基于磁盘的运算效率快了1()倍以上。这主要得益于,Spark在处理数据时所有的中间数据都保存在内存中。由于SPark充分利用内存对数据进行计算,减少了对磁盘的读写操作,从而提高了Spark的计算效率。(2)易用性好。Spark支持Python、Scala.Java和R等多种编程语言,并提供了80多种高阶
9、算法。此外,研究人员可以通过PySpark或SparkShell进行交互式编程。(3)通用性强。Spark提供了多种完善的组件,如交互式查询(SParkSQL)、实时流处理(SParkStreaming)、机器学习库(SparkMLlib)和图计算(SparkGraphX)Spark支持上述组件在同一个应用程序中无缝地结合使用,大大减少了大数据开发和维护的人力成本和部署平台的物力成本。.(详见教材)三、Spark的应用场景【教师】讲解SPark的具体应用场景Spark功能强大,其应用场景也十分广泛。从宏观角度出发,可以将Spark的应用场景归纳为数据科学应用和数据处理应用。在数据科学应用中,S
10、park可以用来进行数据分析和建模。在数据分析方面,Spark提供了丰富的API来支持各种数据操作,如数据清洗、转换、筛选、聚合等。这些操作可以帮助数据科学家对数据进行初步分析,并从中发现有价值的信息。在建模方面,Spark提供了机器学习库MLIib,该库提供了一系列算法和工具,包括常见的机器学习算法、特征化工具等。数据科学家可以使用这些算法和工具构建各种机器学习模型来解决不同的问题。除了MLlib之外,Spark还提供了流式处理库Streaming和图处理库GraPhX,这些库也可以用来解决许多数据科学应用中的问题。(详见教材)(1)腾讯。腾讯大数据使用Spark平台来支持挖掘分析类计算、交
11、互式直询计算,以及允许误差范围的快速计算。在SQL查询性能方面普遍比MapReduce高两倍以上,利用内存计算和内存表的特性,性能至少在10倍以上。在迭代计算与挖掘分析方面,精准推荐将小时和天级别的模型训练转变为Spark的分钟级别的训练。围绕数据+算法+系统”的技术方案,实现了数据实时采集、算法实时训练、系统实时预测的全流程实时并行高维算法。(2)淘宝。针对搜索和广告业务,淘宝技术团队将Spait应用于多次迭代的机器学习算法、高计算复杂度的算法等,从而解决以往系统存在的效率低、代码维护不易等问题。同时,将图处理库应用于多种计算场景,包括基于度分布的中枢节点发现、基于最大连通图的社区发现、基于
12、三角形计算的关系衡量、基于随机游走的用户属性传播等。(3)优酷土豆。Spark交互响应快,模拟广告投放计算效率高、延迟小,机器学习和图计算等迭代计算的性能好。因此,优酷土豆使用Spark替换了以往使用的Hadoop集群。目前,Spark已经广泛应用于优酷土豆的视频推荐、广告业务等场景。【学生】聆听、思考、理解、记录课堂实践【教师】介绍“搭建SPark单机环境”搭建的大概流程,安排学生扫描微课二维码观看视频”搭建SPark单机环境“(详见教材),要求学生会搭建“搭建SPark单机环境”Spark单机环境对计算机硬件要求较低,搭建方法也比较简单,适合初学者入门使用。由于Spark没有提供文件存储系
13、统,因此一般将Spark和Hadp部署在一起,由Hadoop的HDFSxHBase等组件负责数据的存储和管理。(详见教材)一、下载并安装Spark下载并安装Spark步骤IA参考本书配套素材“项目一/安装与配置前置环境文档,安装和配置以下前置环境。VMware虚拟机:VMWareWorkstationProI7.0.01.inux操作系统:RedHatEnterpriseLinux8.7.064位。JDK : JDK HeHadoop : Hadoop 3.3.4Python : Python 3.9.1 Ie步骤2A在Linux操作系统中打开浏览器,访问,hps:/archive.apach
14、e.org/dist/spark/H ,在打开 的页面中单击spark-3.2.3/链接文字,跳转至下载界面,单击wspark-3.2.3-bin-without-hadp.tgz 链接文字,下载SPark安装包,如图1-1所示。在LinuX中,浏览器下载的内容默认存放在homehadoop 下载目录下。其中,hadoop为LinUX的用户名。Index of distsparkspark-3.2.3图1下载SPark安装包(详见教材)二、添加配置信息安装完SPark后,需要在其配置文件中添加配置信息,配置不同的环境变量。具体操作如下。步骤!执行以下命令,复制Spark安装文件中自带的配置文件
15、,并重命名为spark-env.sh”。hadoop(3)bogonlocalSCdsparkhadoop(3)bogonspark$sudocp.conf7spark-env.sh.template.conf7spark-env.sh步骤2A执行以下命令,使用Vim编辑器打开,spark-env.shH配置文件。hadoopbogonspark)$sudovim.conf7spark-env.sh(详见教材)【小提示】.bashrc配置文件中必须包含上述所有环境变量。其中,PYTHONPATH中py4j-0.1().9.5-src.zip与usrIOCaI/spark/PythOn/lib”目录下的py4j-0.10.9.5-SrC.zip保持一致。若有需要,该配置文件中还可以配置其他环境变量。三、验证SPark单机环境是否搭建成功添加好配置信息后就可以直接使用Spark了,不需要像Hadoop那样运行启动命令。因