- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SparkGraphX属性图
Spark GraphX属性图 Spark GraphX属性图 属性图是⼀个有向多重图,它带有连接到每个顶点和边的⽤户定义的对象。有向多重 图中多个并 (parallel)的边共享相同的源和⽬的地顶点。⽀持并 边的能⼒简化了建 模场景,这个场景中,相同的顶点存在多种关系(例如co-worker和friend)。每个顶点由 ⼀个唯⼀的64位长的标识符 (VertexID)作为key。GraphX并没有对顶点标识强加任 何排序。同样,顶点拥有相应的源和⽬的顶点标识符。 属性图通过vertex(VD)和edge(ED)类型参数化,这些类型是分别与每个顶点和边相关 联的对象的类型。 在某些情况下,在相同的图形中,可能希望顶点拥有不同的属性类型。这可以通过继 承完成。例如,将⽤户和产品建模成⼀个⼆分图,我们可以⽤如下⽅式 class VertexProperty() case class UserProperty(val name: String) extends VertexProperty case class ProductProperty(val name: String, val price: Double) e // T e grap mig t t en ave t e type: var grap : Grap [VertexProperty, String] = null 和RDD⼀样,属性图是不可变的、分布式的、容错的。图的值或者结构的改变需要按 期望的⽣成⼀个新的图来实现。注意,原始图的⼤部分都可以在新图中重⽤,⽤来减 少这种固有的功能数据结构的成本。执 者使⽤⼀系列顶点分区试探法来对图进 分 区。如RDD⼀样,图中的每个分区可以在发⽣故障的情况下被重新创建在不同的机器 上。 逻辑上的属性图对应于⼀对类型化的集合(RDD) 这个集合编码了每⼀个顶点和边的属 性。因此,图类包含访问图中顶点和边的成员。 class Grap [VD, ED] { val vertices: VertexRDD[VD] val edges: EdgeRDD[ED] } VertexRDD[VD]和EdgeRDD[ED]类分别继承和优化⾃RDD[(VertexID, VD)]和 RDD[Edge[ED]]。VertexRDD[VD]和EdgeRDD[ED]都⽀持额外的功能来建⽴在图 计算和利⽤内部优化。 属性图的例⼦ 在GraphX项⽬中,假设我们想构造⼀个包括不同合作者的属性图。顶点属性可能包含 ⽤户名和职业。我们可以⽤描述合作者之间关系的字符串标注边缘。 所得的图形将具有类型签名 val userGrap : Grap [(String, String), String] 有很多⽅式从⼀个原始⽂件、RDD构造⼀个属性图。最⼀般的⽅法是利⽤Graph object。下⾯的代码从RDD集合⽣成属性图。 // Assume t e SparkContext as already been constructed val sc: SparkContext // Create an RDD for t e vertices val users: RDD[(VertexId, (String, String))] = sc.parallelize(Array((3L, (rxin, student)), (7L, (jgonzal (5L, (franklin, prof)), (2L, (istoica // Create an RDD for edges val relations ips: RDD[Edge[String]] = sc.parallelize(Array(Edge(3L, 7L, collab), Edge(5L, 3L, Edge(2L, 5L, colleague), Edge(5L, 7L, // Define a default user in case t ere are relations ip wit missi val defaultUser = (Jo n Doe, Missing) // Build t e initial Grap val grap = Grap (users, relations ips, defaultUser) 在上⾯的例⼦中,我们⽤到了Edge样本类。边有
您可能关注的文档
最近下载
- 变压器防护方案.pdf VIP
- 大模型驱动的多智能体协同初探 清华大学 2024.pptx VIP
- SolidWorks 2023实用教程(杨正)课件全套 第1--10章 SolidWorks基础知识与用户界面 --- 工程图设计.pptx
- 手足口防控培训课件.pptx VIP
- 2025一建《建设工程法规及相关知识》考前10页纸(完整版).docx VIP
- 2025-2030中国驴奶行业发展现状调研与营销策略分析研究报告.docx
- 人教版八年级数学上册第十二章 《全等三角形》章节测试题.pdf VIP
- 华中科技大学版五年级信息技术教案.docx VIP
- 明天会更好(合唱简谱).pdf VIP
- 莫斯科郊外的晚上(高考声乐谱伴奏谱)原版正谱五线谱钢琴弹唱谱乐谱.pdf VIP
文档评论(0)