Flink Gelly — Несоответствие типов при создании графика

Я новичок в Apache Flink и Gelly и использую Scala API. У меня есть набор данных вершин и набор данных ребер, и я пытаюсь создать такой график:

val env = ExecutionEnvironment.getExecutionEnvironment
// correct result
val edges: DataSet[Edge[Long, Long]] = (some transformations here)
//also correct result
val vertices: DataSet[Vertex[Long, String]] = (some transformations here)
//in the line below I get the errors
val graph = Graph.fromDataSet(vertices, edges, env)

И я получаю следующие ошибки:

Type mismatch,expected: 
  DataSet[Vertex[NotInferedK,NotInferedVV]], actual: DataSet[Vertex[Long,String]]

Type mismatch,expected: 
  DataSet[Edges[NotInferedK,NotInferedEV]], actual: DataSet[Edge[Long,Long]]

Type mismatch,expected: 
  org.apache.flink.api.java.ExecutionEnvironment, actual: org.apache.flink.api.scala.ExecutionEnvironment

person Al Jenssen    schedule 03.02.2016    source источник


Ответы (1)


Похоже, вы импортировали Graph из Java API Gelly. Попробуйте импортировать Scala-версию Graph, используя import org.apache.flink.graph.scala.Graph. Это должно решить вашу проблему.

person Till Rohrmann    schedule 03.02.2016
comment
Пишет, что такого пакета нет. Если это вообще поможет, я импортировал maven-зависимости gelly следующим образом: ‹/dependency› И мой импорт графика — это import org.apache.flink.graph.{Graph, Vertex, Edge} - person Al Jenssen; 03.02.2016
comment
Похоже, у меня была неправильная зависимость maven от gelly. Правильный вариант: ‹dependency› ‹groupId›org.apache.flink‹/groupId› ‹artifactId›flink-gelly-scala‹/artifactId› ‹version›0.10.1‹/version› ‹/dependency› - person Al Jenssen; 04.02.2016