《《Spark大数据技术与应用案例教程》教案第3课开发并运行应用程序.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第3课开发并运行应用程序.docx(7页珍藏版)》请在第壹文秘上搜索。
1、课题开发并运行应用程序课时2课时(90min)教学目标知识技能目标:(1)能够选择编程语言(2)熟悉PySpark命令(3)能够选择开发工具(4)能够在Spark单机环境和集群环境中运行应用程序素质目标:增强学生遵守规则的意识,养成按规矩行事的习惯。加强学生基础知识的学习,实现从量变到质变的转化,为个人的长远发展打下基础。教学重难点教学重点:PySpark命令,选择编程语言、开发工具,运行应用程序教学难点:能使用PySpark和PyCharm开发并运行应用程序教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,
2、和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家了解计算机有哪些编程语言。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:你知道哪些编程语言可以用于开发Spark应用程序?【学生】举手回答传授新知【教师】通过学生的回答引入新知,介绍编程语言的选择、PySPark命令、开发工具的选择、运行应用程序等知识一、编程语言的选择【教师】讲解编程语言的选择SPark支持多种编程语言,包括PyIhOn、Scala、Java和R语言等。每种编程语言都有各自的特点和适合的应用领域。接下来,我们对这四种语言进行对比,选择出
3、一种合适的编程语言。PythOn是一种动态编程语言拥有清晰的代码结构和良好的代码风格易于学习和使用。此外PylhOn拥有大量的标准库、第三方库和框架,可以帮助开发人员快速实现复杂的功能。因此,Python常用于数据分析、人工智能和Web开发等多个领域。总的来说,Python是一个简单、高效、跨平台、应用广泛、社区支持强大的僦呈语言.Scala是一种面向对象的编程语言。Spark最初就是用Scala语言开发的,因此Scala是Spark的原生语言。SCaIa具有静态类型、函数式编程、扩展性和并发性等特性,这使得SCaIa成为实现复杂分布式应用程序的常用编程语言.在大规模分布式计算中,代码的可读性
4、尤为重要。SCala的代码可读性高,可以帮助开发人员快速理解代码的逻辑。JaVa是一种流行的、面向对象的编程语言,并且在企业级应用中被广泛使用。R语言是一种用于数据分析和统计建模的编程语言,有着丰富的统计库和可视化工具。.(详见教材)二、PySPark命令【教师】讲解PySpark命令的相关知识PySpark是ApacheSpark的PythonAPI,它提供了许多用于操作、SQL查询、流处理、机器学习和图处理的库和工具,以便Pychon开发人员使用Spark的分布式计算能力来处理大规模数据集和执行复杂的数据处理任务。此外,PySPark还提供了PySparkShell,用于交互式分析大数据。
5、为了更好地学习和使用PythonAPl,用户可以使用PySpark命令启动PySparkShell,然后再编写和运行代码。PySPark命令格式如下。pysparkoptions其中Joplions表示可选择的参数选项,执行pyspark-help命令可以查看完整的参数选项。Spark的运行模式取决于传递给SparkContext的MasterURL的值,可使用参数masierMasterURL设置MasterURL的值,命令如下。pysparkmasterMasterURLMasterURL的取值如表1-2所示.表1-2MaSIerURL的取值MasterURL说明示例local使用单个Wo
6、rker线程本地化运行Spark(完全不并行)hadoopbogon$pysparkmasterlocalIoCal因使用k个Worker线程本地化运行Sparkhadoopbogon-$pyspark-masterlocal4local*使用与逻辑CPU个数相同数量的Worker线程本地化运行Sparke其中,逻辑CPU个数=物理CPU个数X每个物理CPU包含的CPU核数hadoopbogon-$pyspark-masterlocal*host:port连接到指定的采用独立集群管理器(即Standalone)的Spark集群。其中,host是Spark集群Master节点的名称或IP地址;p
7、ort是Spark集群Master节点的端口号,默认端口号是7077hadoopMaster-$pysparkmasterSPark:/MaSIer:7070yam连接到采用YARN作为集群管理器的Spark集群hadoopMaster-$pyspark-masteryamhoseport连接到采用Kubernetes作为集群管理器的Spark集群。可以指定KubemetesAPIServer的地址和端口号,使用HTTPS协议与KubernetesAPIServer进行通信hadoopMaSter$pyspark-masterk8s:/https:/k8s-:6443【小提示】本地环境中,在主
8、机名为bogon的虚拟机中进行操作;集群环境中,在主机名为Master的虚拟机中进行操作。(详见教材)三、开发工具的选择【教师】讲解如何选择SPark应用程序的开发工具实际开发中,使用开发工具对于编写、调试和维护Spark应用程序都是非常重要的,其主要原因如下.(1)开发工具提供了大量的辅助开发功能,如代码自动补全、模板、代码片段和快捷键等,有助于提高开发效率.(2)开发工具提供了调试和测试功能,可以快速定位应用程序中出现的问题。(3)开发工具提供了语法高亮功能,有助于提高代码的可读性,也便于开发人员维护应用程序。(4)开发工具提供了共享配置文件、打包应用程序和远程调试等功能,有助于促进团队协
9、作、加快开发进度和提高团队效率.(详见教材)常用的开发工具包括PyCharm、JupyterNotebook和Spyder等。PyCharm是一个功能强大、稳定性好的开发工具。它支持多种语言,包括PythonxJavaScript.HTML/CSS等,并提供了丰富的阖牛支持。PyCharm自带代码分析、调试、测试等功能,可以帮助开发者提高工作效率。此外,PyCharm还有代码自动补全、重构、版本控制等功能,可以满足大部分开发需求。.JupyterNotebook是一个基于Web的交互式计算平台,支持多种编程语言,如Python、R等,能够在浏览器中直接编写和运行代码,并且支持编辑、公式渲染、图
10、像展示等功能。它操作方式灵活方便,广泛应用于数据分析、机器学习等领域.Spyder是一款使用Python编写的集成开发环境,用于数据分析和科学计算,可以有效提高数据处理效率。PyCharm在Python开发中应用广泛,其稳定性表现优异,能够满足各种需求。(详见教材)四、运行应用程序【教师】讲解运行应用程序的方法应用程序开发结束后,可以使用Spark-SUbmii命令将其提交至Spark单机环境或集群环境中运行,该命令格式如下.spark-submitoptionsappargumentsoptions表示可选择的参数选项,执行spark-submit-help”命令可以查看完整的参数选项。常用
11、的参数选项有JmasierMasterURL,MasierURL的取值参见表1-2;-deploy-modeDEPLOY_M0DE,部署驱动程序(DriVer)运行的地方,DEPLOY.MODE取值有client(默认值,DriVer作为外部客户端部署到本地,常用于学习测试)和cluster(将Driver部署到Worker节点,常用于生产环境).用于指定要执行的应用程序代码的位置。它可以是包含编译后的Scala或JaVa代码的Java存档文件(JAR)、Python文件或R文件。appargument表示传递给应用程序主类方法的参数。这些参数通过Scala或Java的主方法的参数数组(arg
12、s),或通过Python或R的sys.arg应用于应用程序。【例1-1执行以下命令,在SPark单机环境中运行SPark自带的应用程序示例pi.py.hadoop(3)bogon$Cdusrlocalsparkhadoopbogonspark)$.binsark-submitusrlocalsparkexamplessrcnainpythonpi.py【例1-2执行以下命令,在Spark集群环境中运行Spark自带的应用程序示例pi.py.|hadoopMaster$Cdusrlocalsparkhadoop(三)MastersparkS./bin/spark-submit -masterSP
13、ark:MaSter:7077 usrlocalsparkexamplessrcmainpythonpi.py【学生】聆听要求、进行操作【小提示】为了方便阅读和理解,可以使用符号将含有多个参数的完整命令人为分成多行,效果如例1-1和1-2中的命令。【学生】聆听、思考、理解、记录【教师】介绍“开发并运行应用程序”的大概,安排学生扫描微课二维码观看视频”开发并运行应用程序“(详见教材),并要求学生进行相应操作一、在SPark单机环境中运行应用程序步骤IA打开PyChann,然后单击CreateNewProject打开创建项目”对话框,接着设置位置和基础解释器,并取消勾选创建main.py欢迎脚本复
14、选框,最后单击创建按钮,完成项目创建,如图1-17所示。创建货目ihoneadoopPrcturmProfects/hrthonProctPythonViHB新SrtU*nv讦境O使用此工具新建环城Vkiuanv位:hfnehadoopPycarProctWPytboPro)ctY0n3.9.承全扇站tr件包Q可用于所有顼目无的配置的第催后例*m*nPy京迎建本KB图1-17创建项目步骤2A右击PyihonProjeci项目,在弹出的快捷菜单中选择新建一目录选项,打开新建目录对话框,在文本框中输入目录名称sparbdemo并按Enter键确认,如图1-18所示。11_It.wWMM.OM.w,9MVii*IlMtXi.*BM3*bAiW*YRwMP三WW艮.B三aSOBW*WZ.Ml。4MM0新建目录9M.spark_demo|图1-18新建目录(详见教材)二、在SPark集群环境中运行应用程序在Spark集群环境中运行应用程序时,需要保证Master节点、W