【发布时间】:2018-10-17 05:31:33
【问题描述】:
我现在正在尝试从RDD[(Long,Long,String)] 构造一个RDD[Edge[String]]
我看过Edge的src代码,它有Edge(VertexId,VertexId,ED)的参数,所以我想如果我有一个RDD[(Long,Long,String)]我可以把它转换成RDD[Edge[String]]
我的代码是
val c:RDD[(String, String)] = something
val s:RDD[(String, String)] = something
val edgeRDD: RDD[Edge[String]] = c
.join(s).map({
case (num: String, (src: String, dst: String))
=> (src.toLong, dst.toLong, expRelation)
}
)
但最后我得到了一个type mismatch 错误
[error] found : (Long, Long, String)
[error] required: org.apache.spark.graphx.Edge[String]
[error] => (src.toLong, dst.toLong, expRelation)
[error] ^
所以我想知道有没有办法直接从RDD[(Long,Long,ED)]构造一个RDD[Edge[ED]]
【问题讨论】:
-
Edge(src.toLong, dst.toLong, expRelation) -
@user9613318 哇!它似乎有效!谢谢!
标签: scala apache-spark rdd spark-graphx