《《Spark大数据技术与应用案例教程》教案第19课配置GraphFrames.docx》由会员分享,可在线阅读,更多相关《《Spark大数据技术与应用案例教程》教案第19课配置GraphFrames.docx(4页珍藏版)》请在优知文库上搜索。
1、课题配置GraphFrames课时2课时(90min)教学目标知识技能目标:(1)掌握图的基本概念和类型(2)熟悉GraPhFrameS的优点和功能(3)了解GraphFrames的应用场景素质目标:(1)运用图算法处理日常生活中的数据关联性问题。(2)加强自身观察能力,发掘事物之间的关联性。教学重难点教学重点:图的基本概念和类型,GraPhFrameS的优点、功能和应用场景教学难点:配置GraphFrames教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他
2、学习软件,完成课前任务请大家了解GraphFrames的相关知识。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:什么是GraphFrames?【学生】思考、举用答传授新知【教师】通过学生的回答引入新知,介绍图的基本概念和类型,GraphFrames的优点、功能和应用场景等知识一、认识图图(Graph)是一种数学结构,用于描述不同对象或实体之间的关联关系。图由一组顶点(又称为节点)和连接顶点对的边所构成。1.图的基本概念【教师】介绍图的基本概念图的基本概念提供了图计算的核心理论,能够帮助我们更好地描述和解释实体间的关系。图的基本概念
3、如下。(1)顶点(vertex).顶点表示实体或对象。(2)边(edge)边是连接顶点的线段或弧线,表示顶点之间的关系或连接。(3)度(degree)顶点的度表示与该顶点相连的边的数量。(4)路径(path)路径是由边i镒的一系列顶点的序列,描述了从源顶点到目标顶点的经过的边的序列.(5)连通性(connectivity)。连通性描述了图中顶点之间的关联性和可达性。(6)子图(subgraph)0子图是从原始图中提取一部分顶点和边,形成的一个新的图。2.图的类型【教师】利用多媒体展示“常见的图的类型”图片,并迸行讲解根据图的特征和属性,可以将图分为多种类型,如图6-1所示。图6常见的图的类型(
4、1)无向图(undirectedgmph)图中任意两个顶点之间的连接是双向的,没有明确的起点和终点。(2)有向图(directedgraph)图中的每条边均有方向,即从一个顶点到另一个顶点存在指定的起点和终点。(3)带权图(weightedgraph)0图中每条边被赋予一个称为权重的数值。这些权重可以表示各种数量,如距离、成本或关系强度。(4)二分图(bipartitegraph)图中的顶点可以分为两个独立的集合,使得同一个集合中的顶点之间没有边。(5)完全图(completegraph)图中任意两个顶点之间都存在边。二、GraPhFrameS概述【教师】讲解什么是GraPhFrameSGra
5、phFrames是一个用于计算图数据的框架,它建立在DataFrame的基础上,扩展了Spark的功能,提供了方便的图计算和图分析工具。1 .GraphFrames的优点【教师】利用多媒体展示“GraphFrames的优点”图片,并由亍并解由于GraphFrames建立在DataFrame的基础上,因此GraphFrames与GraphX相比具有以下优点,如图6-2所示。图6-2GmphFrames的优点2 .GraphFrames的功能【教师】介绍GraphFrames的功能GraPhFrameS提供了一系列的功能,用于操作和分析图数据。常用的功能如下。(1)创建图。通过将两个DataFra
6、me(一个用于表示顶点,一个用于表示边)传递给GraphFrameO方法,创建图。(2)操作图数据。GraPhFrameS提供了多种属性和方法,能够按照特定条件检索图的子图或图中的顶点和边,还能够实现添加新的顶点/边、提取子图、映射顶点/边、删除顶点/边等功能。(3价析和处理图数据。GraphFrames提供了一些常见的图算法API(如PageRanksLabelPropagation和ShortestPaths等),开发人员可以直接使用这些算法分析和处理图数据。三、GraPhFrameS的应用场景【教师】讲解GraphFrames的应用场景图数据的结构反映了数据之间的关联性,图计算可以通过分
7、析这种关联性从海量噪声数据中提取有用信息。GraPhFrameS是一个功能强大的图计算框架,其实际应用场景如下。(I)社交网络分析。社交网络分析可以使用GraPhFrameS执行广度优先搜索、最短路径查找、连通性分析等操作.这些操作能够帮助用户深入了解社交网络中的用户群体、信息传播的影响力等.(2)推荐系统。推荐系统可以使用GraphFrames将用户、物品和交互行为建模为图健结构,然后利用图算法发现相似用户、相似物品和潜在的兴趣群体,从而为用户提供个性化的推荐结果。(3)网络安全分析.网络安全分析可以使用GraPhFrames构建网络拓扑图,然后应用图算法检测异常行为、识别攻击路径、发现恶意
8、节点等。(4)交通网络分析。交通网络分析可以使用GraPhFrameS进行路径规划、拥堵分析、交通流量预测等,便于优化城市交通管理和公共交通服务.(5)金融风控。金融风控可以使用GraphFrames构建客户关系图、资金流动图等,然后应用图算法检测异常交易、发现欺诈行为、评估信用风险等.【学生】聆听、思考、理解、记录课堂实践【教师】介绍“配置GraphFrames,的大概流程,安排学生扫描微课二维码观看视频”配置GraPhFrameS”(详见教材),并要求学生进行相应操作步骤IA执行以下命令,安装graphframes库。hadoopbogon-$pip3installgraphframes步
9、骤2A访问whttps:/spark-packages.org/package/graphframes/graphframesw,单击Version:0.8.2-spark3.2-s_2.12w对应的jar链接文字,下载对应版本的jar关联包,如图&3所示。ReleasesVersion:0.8.2-spark2.4-s_2.11(1cd7abIzipIjar)/Date:2021-10-17/License:Apache-2.0/Scalaversion:2.11Version:0.8.2-spark3.0-s_2.12(1cd7abzipIjar)/Date:2021-10-17/Lice
10、nse:Apache-2.0/Scalaversion:2.12Version:0.8.2-spark3.1-s.2.12(1cd7abzipjar)/Date:20211017/License:Apache-2.0/Scalaversion:2.12Version:0.8.2-spark3.2S-2.12(1cd7abIzipjar)/Date:2021-10-17/License:Apache-2.0/Scalaversion:2.12Version:0.81-spark2,4-s_2.11(b3b97cIzipIjar)/Date:20200906/License:Apache2.0/S
11、calaversion:2.11Version:08.1-spark2.4-s_2.12(b3b97cIzipIjar)/Date:2020-09-06/License:Apache-2.0/Scalaversion:2.12Version:0.8.1-spark3.0-s_2.12(b3b97czipjar)/Date:2020-09-06ZLicense:Apache-2.0/Scalaversion:2.12Version:0.8.0-spark3.0-s.2.12(8a81b81zipJar)/Date:2020-03-21/License:Apache-2.0/Scalaversio
12、n:2.12Version:08.0-spark2.4-s_2.11(8a81b8zipIjar)/Date:2020-03-21/License:Apache-2.0/Scalaversion:2.11Version:0.7.0-spark2.4s.2.11(f9e13azipjar)/Date:2019)108/License:Apache-2.0/Scalaversion:2.11图6-3下载对应版本的JAR关联包步骤3A执行以下命令,将下载的jar关联包复制到usrIoCaIsparkjars目录下。hadoopbOgon!$Cd吓载hadoopbogon下载$CPgraPhframe
13、S-0.8.2-SPark32s_2.12.jar/usr/local/spark/jars(详见教材)【参考代码】(hadoopbogon下载SpysparkfromgraphframesimportGraphFrame舱0建顶点DataFramevertices=spark.createDataFrame(A,Alice),(,B,Bob),(C,Charlie),idname)砌建边DataFrameedges=SPark.CreaieDaiaFrameU(A,B,friend),(B,C,follow),src,dstrelationship)#创建GraphFramc对象graph=
14、GraphFrame(vertices,edges)#显示图的顶点信息graph.vertices.show()graph.vertices,show()IidInameIIAAliceIBBobICCharliej图6-4显示图的顶点信息【学生】自行扫码观看配套微课,按照要求进行操作,如遇问题可询问老师【教师】巡堂辅导,及时解决学生遇到的问题课堂小结【教师】简要总结本节课的要点图的基本概念和类型GraphFrames的优点和功能GraPhFrameS的应用场景【学生】总结回顾知识点作业布置【教师】布置课后作业(1)完成项目六项目实训中与本课相关的习题;(2)根据课堂知识,课后自己尝试配置GraphFramese【学生】完成课后任务教学反思