Flink Gelly - 创建图形时类型不匹配

Posted

技术标签:

【中文标题】Flink Gelly - 创建图形时类型不匹配【英文标题】:Flink Gelly - Type mismatch while creating graph 【发布时间】:2016-02-03 09:00:50 【问题描述】:

我是 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

【问题讨论】:

【参考方案1】:

看起来好像您从 Gelly 的 Java API 导入了 Graph。尝试使用import org.apache.flink.graph.scala.Graph 导入Graph 的Scala 版本。这应该可以解决您的问题。

【讨论】:

说没有这个包。如果它有帮助,我已经像这样导入了 gelly 的 maven 依赖项: org.apache.flinkflink-gelly0.10.1 而我的图导入是 import org.apache.flink.graph.Graph, Vertex, Edge 看来我对 gelly 有错误的 maven 依赖。正确的是 org.apache.flinkflink-gelly-scala0.10.1

以上是关于Flink Gelly - 创建图形时类型不匹配的主要内容,如果未能解决你的问题,请参考以下文章

Flink Gelly 在计算期间更新图

Flink Gelly 扩展边缘类并在 DataSet 中使用

运行 Apache Flink 作业时链接失败

使用Flink和Gelly无法实现高CPU利用率

使用 Flink 和 Gelly 无法实现高 CPU 利用率

Flink:Connected Components - 类型不匹配错误