繁体   English   中英

Apache Flink-Gelly-从边列表创建数据集

[英]Apache Flink - Gelly - Create a dataset from a list of edges

我有这样创建的顶点和边的列表:

  val v1 = new Vertex(1L, "foo")
  val v2 = new Vertex(2L, "bar")
  val e1 = new Edge(v1, v2, 0.5)`

并希望使用Graph.fromDataSet方法(或与此相关的任何其他方法)创建Flink图。 如何以Flink可读的方式转换这些边缘和顶点?

谢谢!!

给定一个顶点列表val vertices: Seq[Vertex[Long, String]] = ...和edge val edges: Seq[Edge[Long, String]] = ...您可以使用Graph.fromCollection方法创建一个Graph

val env = ExecutionEnvironment.getExecutionEnvironment

val vertices = Seq(new Vertex[Long, String](1L, "foo"), new Vertex[Long, String](2L, "bar"))
val edges = Seq(new Edge[Long, String](1L, 2L, "foobar"))

val graph = Graph.fromCollection(vertices, edges, env)

值得注意的是,您必须导入Scala版本的org.apache.flink.graph.scala.Graph

或者,你也可以先创建一个edgeDataset: DataSet[Edge[Long, String]]vertexDataSet: DataSet[Vertex[Long, String]]使用ExecutionEnvironment 然后可以调用Graph.fromDataSet方法来创建Graph

val vertexDataset = env.fromCollection(vertices)
val edgeDataset = env.fromCollection(edges)

val graph = Graph.fromDataSet(vertexDataset, edgeDataset, env)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM