欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《Spark大数据技术与应用案例教程》教案第20课分析社交网站的用户影响力.docx

    • 资源ID:1169413       资源大小:95.48KB        全文页数:12页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《Spark大数据技术与应用案例教程》教案第20课分析社交网站的用户影响力.docx

    课题分析社交网站的用户影响力课时2课时(90min)教学目标知识技能目标:(1)掌握读取数据创建图的方法(2)掌握使用GraphFramc类的属性和图的叫操作方法处理图的方法(3)掌握图的常用算法素质目标:(1)运用图算法处理日常生活中的数据关联性问题。(2)加强自身观察能力,发掘事物之间的关联性。教学重难点教学重点:图的创建、图的数据操作、图的常用算法教学难点:使用图的常用算法解决实际问题教学方法案例分析法、问答法、讨论法、讲授法教学用具电脑、投影仪、多媒体课件、教材教学过程主要教学内容及步骤课前任务【教师】布置课前任务,和学生负责人取得联系,让其提醒同学通过APP或其他学习软件,完成课前任务请大家回顾上一节课所学知识,并了解GraPhFrameS中图的创建方法、操作方法和常用算法。【学生】完成课前任务考勤【教师】使用APP进行签到【学生】班干部报请假人员及原因问题导入【教师】提出以下问题:你知道在GraphFrames中创建图的方法吗?【学生】思考、举手回答传授新知【教师】通过学生的回答引入新知,介绍图的创建、图的数据操作、图的常用算法等知识一、图的创建【教师】介绍GraphFrames中图的创建方法GraphFrame是GraphFrames中的核心相象,用于表示和操作图数据。从逻辑上看,GraphFrame由顶点DataFrame和边DataFrame组成顶点DataFrame必须包含名为id的列,用于存储唯一的顶点IDe边DataFrame必须包含名为src和dst的列,分别用于存储边的源顶点ID和目标顶点IDe在GraphFrames中,创建图的方法有三种:第一种是根据顶点DataFrame和边DataFrame创建图;第二种是根据RDD创建图;第三种是读取文件中的数据创建图。1.根据顶点DataFrame和边DataFramc创建图在GraphFrames中,可以使用GraPhFrame()方法根据顶点DalaFrame和边DalaFrame创建图,该方法的基本格式如下。GraphFrame(v,e)其中,参数V表示保存顶点信息的DataFrame;参数e表示保存边信息的DataFramee【教师】通过例子,帮肋学生掌握根据顶点DataFrame和边DataFrame创建图的方法【例6-1根据顶点DataFrame和边DataFrame创建图。使用GraPhFrame()方法以城市作为顶点,距离作为边创建图,图的顶点信息和边信息如图6-5所示。hadoopbogon$pyspark»>fromgraphframesimportGraphFrarnc建顶点DataFrame,包含顶点的标识符(id)和城市(city)»>vertices=spark.createDataFrame("A","NewYork"),("B","London"),(',C",',Tokyo"),id'"city0)舱J建边DataFrame,包含边的源顶点(Src)、目标顶点(dst)和距离(distance)»>edges=spark.createDataFrame("A","B",55),("B","C",6500),(''C",',A",8000),I,'src'"dst","distance")#根据顶点和边的DataFrame创建图»>graph=GraphFrame(vertices,edges)#显示图的顶点信息»>graph.vertices.show()#显示图的边信息+srcdstdistance)ABl55001BCl6500ClAl8000十÷>» graph. edges. show()»>graph.edges.show()»>graph.vertices.show()+IidIcity+IANewYorkBLondon)ICTokyoI+图的顶点信息和边信息图6-52.根据RDD创建图在GraphFrames中,如果斓存储在RDD中,我们首先需要将RDD转换为DataFrame,然后使用GraPhFrameo方法创建图。【教师】通过例子,帮助学生掌握根据RDD创建图的方法【例6-2根据RDD创建图,输出图的顶点信息和边信息,如图6-6所示。|hadoopbogon-$pyspark»>fromgraphframesimportGraphFrame制建RDD,包含(顶点ID,属性沅组»>rdd=spark.sparkContext.parallelize(l,'A'),(2,'B').(3,rC)# 将RDD转换为DataFrame»>vertices_df=rdd.toDF(,id,"attribute")跄J建RDD,包含(源顶点ID.目标顶点ID,边属性)元组»>edges_rdd=spark.sparkContexl.parallelize(1,2,edge).(2,3.,edge2,)# 将RDD转换为DataFrame»>edges-df=edges_rdd.toDF("src","dst","relationship")# 使用GraPhFrame()方法创建图»> graph.vertces.show()»> graph.edges.show()»> graph, vertices, show() +I idattribute) +I1|AlI2BlI3Cl»>graph=GraPhFrame(VertiCeS_df,edges_df)»>graph.edges,show()+Isrcdstrelationship(+I12edgel|23edge2|.图6-6图的顶点信息和边信息3.读取文件中的数据创建图在GraPhFmmeS中,如果数据存储在文件中(如CSV、ParqUel等文件),我们需要先使用SPark读取文件中的数据创建DataFrame,然后使用GraPhFrameo方法创建图。【教师】通过例子,帮助学生掌握通过读取文件中的数据创建图的方法【例6-3读取文件中的数据创建图。新建7usrIOCalsparkmycodegraph”目录,并在该目录下新建两个文本文件。“user.txt”文件用于保存用户信息数据,包含用户ID、姓名和职业3个字段,如图6-7所示。“relationship.txt”文件用于保存用户之间的关系数据,包含两个用户ID和用户之间的关系,如图6-8所示。打开(0)区usertxt保存三X打开9)Iarelati""保存(三)三IXuserlJohnstudentuser2Janepostdocuser3Davidprofessoruserluser2collaboratoruser3user2leaderuser3userladvisor图&7用户信息数据图6-8用户之间的关系数据读取文件中的数据创建DataFrame然后使用GraPhFrameO方法创建图输出图的顶点信息和边信息,如图6-9所示。hadoopbogon$pyspark»>fromgraphframesimportGraphFrame# 读取user.txt文件中的数据创建RDD»>vertices_rdd=spark.sparkContext.textFile("file:/usr/local/spaik/mycode/graph/user.txt").map(lambdaline:line.split("")# 将RDD转换为顶点DataFrame»>vertices_df=spark.createDataFrame(vertices_rdd,"id",',name","profession")# 读取relaiionship.txt文件中的数据创建RDD»>dges_rdd=spark.sparkContext.textFile("file:/usr/local/spark/mycode/graph/relationship.txt").ma(lambdaline:line.split("")# 将RDD转换为边DataFrame»>edges_df=spark.createDataFrame(edges-rdd,"src","dst","relationship")愉建图»>graph=GraPhFrame(VertiCeS_df,edges_df)»>graph.vertices.show()»>graph.edges.show()>>> graph.vertices.show()id I ameprofession)Iuserl John student) Iuser2 Janej postdoc Iuser31Davidj professor»> graph. edges. show()I src dstrelationship!Iuserl user3 I user3+user21 collaborator!user2Ileader)userlIadvisor+图69图的顶点信息和边信息二、图的数据操作【教师】介绍GraPhFrameS中图的数据操作创建图之后,可以对图中的数据进行操作,帮助用户从图中提取有用信息。在GraphFrames中,GraphFrame类包含vertices、edges、triplets、inDegrees、OutDegrees和degrees等属性。这些属性的详细说明如表6-1所示。表6-1GraphFrame类的属性属性说明vertices通过VertiCeS属性,用户可以访问和操作图中的顶点集合edges通过edges属性,用户可以访问和操作图中的边集合triplets通过triplets属性,用户可以访问和操作图中的三元组集合。其中,三元组由起始顶点src、边edge和目标顶点dst组成inDegrees通过inDegrees属性,用户可以进行入度分析和筛选操作OutDegrees通过OUtDegreeS属性,用户可以进行出度分析和筛选操作degrees通过degrees属性,用户可以进行度分析和筛选操作(详见教材)表6-2常用的数据操作方法方法DataFrameGraphFramefilter(condition)使用给定条件筛选DataFrame中的数据根据指定的筛选条件对顶点或边进行筛选filterVertices()filterEdges()杳询符合条件的顶点或边OrderBy(*cols,ascending)按照指定列对数据进行排序按照指定列对顶点或边进行排序groupBy(*cols)按照指定列对DataFrame进行分组按照指定列对顶点或边进行分组withColumn(colName,col)添加新的列或修改现有的列用于映射图的顶点或边,即向顶点或边中添加新的列或修改顶点或

    注意事项

    本文(《Spark大数据技术与应用案例教程》教案第20课分析社交网站的用户影响力.docx)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开