How to create a bipartite graph in GraphX

荒凉一梦 提交于 2019-11-28 12:45:54
eliasah

For example to model users and products as a bipartite graph we might do the following:

trait VertexProperty
case class UserProperty(val name: String) extends VertexProperty
case class ProductProperty(val name: String,
  val price: Double) extends VertexProperty

val users: RDD[(VertexId, VertexProperty)] = sc.parallelize(Seq(
  (1L, UserProperty("user1")), (2L, UserProperty("user2"))))

val products: RDD[(VertexId, VertexProperty)] = sc.parallelize(Seq(
  (1001L, ProductProperty("foo", 1.00)), (1002L, ProductProperty("bar", 3.99))))

val vertices = VertexRDD(users ++ products)

// The graph might then have the type:
val graph: Graph[VertexProperty, String] = null
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!