《Spark应用开发技术》课件——02_了解GraphX常用API.pptxVIP

《Spark应用开发技术》课件——02_了解GraphX常用API.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;本章主要讲述SparkGraphX:图计算框架。;通过学习本节将能够学习SparkGraphX:图计算框架。

通过本节学习可以:

理解图与图计算的基本概念

掌握GraphX图的创建方法

掌握GraphX的基本操作

掌握以GraphX进行关联聚合操作

;认识SparkGraphX

图的基本概念、图计算的应用、GraphX的基础概念、GraphX的发展

了解GraphX常用API

图的创建与存储、数据查询与数据转换、结构转换与关联聚合

构建信任网络并找出目标用户

构建网站信任网络、找出需要支付稿酬的用户、找出进入热门榜的用户

;1.图创建与存储

Edge:边对象,存有srcId,dstId,attr三个字段,以及一些操作Edge的方法,例:Edge(srcId,dstId,attr)

RDD[Edge]:存放着Edge对象的RDD

EdgeRDD:完整提供边的各种操作类

RDD[(VertexId,VD)]:存放顶点的RDD,顶点有VertexId和VD两个字段,第一个是顶点Id,第二个是顶点属性。定义一个顶点例如:(VertexId,VD)

VertexRDD:提供顶点的各种操作方法的对象

;1.图创建与存储

图的创建是进行图计算的重要步骤,在SparkGraphX中创建图的方式很多,根据不同的数据集有不同的方法。GraphX有一个类Graph,Graph对象是用户的操作入口,主要包含边属性edge(边)、顶点属性vertex(顶点)、图的创建方法、查询方法和其他转换方法等。其中Graph类中图的创建方法主要有3种,适用于不同类型的输入数据。;1.图创建与存储

;1.图的创建与存储

在使用SparkGraphX进行操作时,需要先将指定的包导入

;1.图的创建与存储方式一

根据有属性的顶点和边构建图(Graph(vertices,edges,defaultVertexAttr))

vertices:RDD[(VertexId,VD)]:“顶点”类型的RDD,其中VertexId为顶点ID(必须为Long类型),VD为顶点属性信息。

edges:RDD[Edge[ED]]:“边”类型的RDD,Edge类包含srcId(起点,Long类型)、dstId(目标点,Long类型),attr(边属性)三个部分。

defaultVertexAttr:一个固定的顶点信息,用于当数据中出现顶点缺失时使用。;1.图的创建与存储方式一

“顶点”和“边”的RDD来自不同的数据源,与Spark中其他RDD的建立并没有区别,但是顶点Id要求是Long类型

;1.图的创建与存储方式一

查询创建完成的图graph_urelate可以用graph_urelate.vertices查看顶点信息,用graph_urelate.edges查看边信息

;1.图的创建与存储方式二

根据边创建图(Graph.fromEdges(RDD[Edge[ED]],defaultValue))

这种方法相对而言最为简单,只是由Edge类型RDD建立图,边的属性没有则设为一个固定值,由“边”RDD中出现所有顶点(无论是起始点src还是目标点dst)自动产生顶点vertextId,顶点的属性将被设置为一个默认值。fromEdges方法有两个参数值如下

RDD[Edge[ED]]:“边”类型的RDD,Edge包含(srcId,dstId,prop)

defaultValue:VD:默认顶点属性值。

;1.图的创建与存储方式二

Graph.fromEdges创建图只需要边的数据

如下代码所示,仅根据“edges.txt”中的边数据创建图,顶点由边数据中出现的顶点决定。

;1.图的创建与存储方式二

对图的顶点和边进行查询如图所示,文件中的边和边属性都加载到图中,顶点则根据边的数据提取了起点和目标点作为顶点,顶点属性默认值1

;1.图的创建与存储方式三

根据边的两个顶点的元组创建图(Graph.fromEdgeTuples())

Graph.fromEdgeTuples()通过边的两个顶点ID组成的二元组创建图,将一条边的起点与目标点放在一个二元组中,通过边的二元组RDD创建图。

rawEdges:RDD[(VertexId,VertexId)]:其中的数据类型是一个起点与目标点的元组

defaultValue:VD:默认属性值。

uniqueEdges:Option[PartitionStrategy]=None:是否对边进行分区选项,可选可不选,默认不分区

;1.图的创建与存储方式三

fromEdgeTuples仅需要边的起点和目标点,将数据“edges.txt”作为输入数据,通过fromEdgeTuples方法构造图

;1.图的

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档