- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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样本类。边有
您可能关注的文档
- realanalysis15s-Tonelli定理,Fubini定理.pdf
- RFM客户细分法.docx
- RGB颜色空间的矢量角度距离色差公式杨振亚.pdf
- Riemann积分与Lebesgue积分的联系.pdf
- RNA二级结构预测算法.pdf
- Rosetta实验系统在机器学习中的应用程玉胜.pdf
- R语言多重回归.pdf
- SamsungGALAXYA7如何设置主屏切换效果(A7000).pdf
- s8500路由交换机操作手册(V2.00)7-4L3+NAT配置.pdf
- S7-4认识锐角、直角、钝角三角形.ppt
- 山东省威海市2023-2024学年高一年级下册期末考试语文试题及答案.pdf
- 2024-2025学年绥化市高二数学上学期开学考试卷(附答案解析).pdf
- 2024届贵州省贵阳某中学联考高考模拟预测地理试题(含答案解析).pdf
- 2024年公务员考试行测常识判断复习讲义.pdf
- 2024年广东学法考试试题附答案(考场一).pdf
- 2024年人教版八年级物理复习讲义:功 专项训练【五大题型】原卷版.pdf
- 江苏省泰州市高港区等2地2023-2024学年九年级上学期期中语文试题.pdf
- 酒店概论及酒店管理培训考试题库.pdf
- 湖北省旅游类《酒店服务》技能高考历年考试试题库(含答案).pdf
- 泰安市2025年中考一模考试物理试题(A)含解析.pdf
文档评论(0)