《《Spark大数据技术与应用案例教程》教案第8课配置SparkSQL.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第8课配置SparkSQL.docx(5页珍藏版)》请在第壹文秘上搜索。
1、课题配置SparkSQL课时2课时(90min)教学目标知识技能目标:(1)了解SParkSQL的特点(2)理解SParkSQL的架构(3)理解SparkSQL的运行原理素质目标:培养举一反三的能力,学会融会贯通教学重难点教学重点:SparkSQL的特点、架构和运行原理教学难点:配置SparkSQL教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家了解SparkSQL的相关知识。【学生】完成课前任务考勤【教师】使用APP进行签到【学
2、生】班干部报请假人员及原因问题导入(5min)【教师】提出以下问题:什么是SparkSQL?【学生】思考、举手回答传授新知【教师】通过学生的回答引入新知,介绍SParkSQL的特点、架构和运行原理等知识一、SParkSQL概述1 .SparkSQL的产生【教师】介绍SParkSQL的产生在早期的Hadoop生态系统中,主要使用M叩RedUCe组件进行数据处理。MapReduce虽然能够处理大规模数据,但是其学习成本h麻高。HiVe的出现解决了这个问题,它为大规模数据处理提供了更加方便的结构化查询语言接口,让用户能够像操作关系型数据库一样进行数据分析.Hive能够与Hadoop高度集成,但是Hi
3、ve在处理大规模数据时依然存在性能瓶颈,其原因是Hive需要将直询转换为M叩RedUCe任务来运行,而这种转换可能存在较长的延迟时间。为了解决上述问题,加州大学伯克利分校的AMP实验室开发了基于Hive的结构化数据处理组件Shark,为了实现Hive的兼容,Shark重用了Hive的HiveQL解析、逻辑执行计划翻译、执行it划优化等逻辑,但在执行层面将MapReduce作业替换成了Spark作业。由于Shark使用的是Spark基于内存的计算模型,因此性能得到了极大的提升.Shark的设计导致了两个问题,一是执行优化完全依赖于Hive,其性能受到约束;二是Spark是线程级并行,而M叩Red
4、UCe是进程级并行,会导致Spark和Hive兼容存在线程安全问题。因此,在2014年Shark项目被中止,AMP实验室转向SparkSQL的开发。2 .SparkSQL的特点【教师】介绍SParkSQL的特点SparkSQL主要用于处理结构化数据,它不仅支持SQL查询,还提供了一种基于DataFrame的编程抽象,可以方便地进行分布式数据处理和分析。SParkSQL具有以下特点。(1)支持多种数据源。(2)支持SQL窗机(3)提供了DataFramee(4)支持多种编程语言.(5)支持与Spark的其他组件集成。二、SParkSQL的架构【教师】展示SparkSQL的架构图,井进行讲解Spa
5、rkSQL复用了Hive提供的元数据(Metastore)xHiVeQL、用户自定义函数(UDF),以及序列化和反序列工具(SerDeS),其架构如图3-1所示。SparkSQL的架构包括以下几个主要组件。(I)Metastore(元数据)(2)Client(客户端)。(3)Driver(驱动器)。SQLParSer(SQL解析器)。CatalySt(优化器)。PhysicalPlan(物理执行计划)。Execution(执行器)。CaCheManager(缓存管理器)。(详见教材)三、SParkSQL的运行原理【教师】展示SparkSQL的运行原理图,并进彳割解SparkSQL通过解析SQL
6、语句,构建T抽象语法树,然后利用规则(rule)对该树进行绑定、优化等处理。SparkSQL的运行原理如图3-2所示。图3-2SParkSQL的运行原理SparkSQL运行原理的详细介绍如下.(】)创建。在解析SQL语句前需要读取数据创建DataFrame呆存元雌,包括库名、表名、字段名、字段类型等。这些数据在解析未绑定的逻辑计划上使用。(2)解析。对输入的SQL语句进行解析,识别其中的语法结构和语义信息,并将其转换为一个抽象语法树(即未解析的逻辑计划),(3)分析.对解析得到的抽象语法树进行遍历,并对树上的每个节点进行数据类型绑定和函数绑定的操作,生成已解析的逻辑计划。(4)优化。改进程序的
7、执行效率、减少资源消耗或提高代码质量,生成优化后的逻辑计划。(5)查询计划生成。将优化后的逻辑计划转换为多个物理执行计划。(6)形成RDD的DAG提交到集群运行。(详见教材)【学生】聆听、思考、理解、记录【教师】介绍“配置SparkSQL”的大概流程,安排学生扫描微课二维码观看视频”配置SparkSQL”(详见教材),并要求学生进行相应操作步骤1确保Spark的单机伪分布式环境已经配置完成.步骤2A打开浏览器,访问hltps:MySQLProductArchivesSlc4917fflM7b574lfWW2J?Download(详见教材)【小提示】MySQL驱动程序文件需要根据个人安装的虚拟机
8、镜像文件进行选择。例如,本书安装的是RedHat8.7.0版本,则选择对应的操作系统RedHatEnterpriseLinux/OracleLinux和版本RedHatEnterpriseLinux8/OracleLinux8(ArchitectureIndependent).【学生】自行扫码观看配套微课,按照要求进行操作,如遇问题可询问老师【教师】巡堂辅导,及时解决学生遇到的问题课堂小结【教师】简要总结本节课的要点SparkSQL的产生和特点SparkSQL的架构SparkSQL的运行原理【学生】总结回顾知识点作业布置【教师】布置课后作业(1)完成项目三项目实训中与本课相关的习题;(2)根据课堂知识,课后自己尝试配置SparkSQL.【学生】完成课后任务教学反思