对于 GraphX,我如何将对象数组转换为边数组
For GraphX how do i convert an array of object to an array of Edges
我有一个像这样的对象数组
edges: Array[Array[(Long, Long, String)]] = Array(Array((-209215114,197853780,Investor), (-209215114,-322475625,Investor), ...
我想将它转换为 Edge 数组以传递给图形生成器。这是我正在使用的:
val eRDD: RDD[Edge[(VertexId, VertexId, String)]] = edges.map(x => Edge(x(0), x(1), x(2)))
我收到以下错误:
<console>:107: error: type mismatch;
found : (Long, Long, String)
required: org.apache.spark.graphx.VertexId
(which expands to) Long
val eRDD: RDD[Edge[(VertexId, VertexId, String)]] = edges.map(x => Edge(x(0), x(1), x(2)))
你的类型定义是错误的。要么:
val eRDD: RDD[Edge[String]] = edges.map(x => Edge(x(0), x(1), x(2)))
或者只是做:
val eRDD = edges.map(x => Edge(x(0), x(1), x(2)))
并让 Scala 为您推断类型。
我有一个像这样的对象数组
edges: Array[Array[(Long, Long, String)]] = Array(Array((-209215114,197853780,Investor), (-209215114,-322475625,Investor), ...
我想将它转换为 Edge 数组以传递给图形生成器。这是我正在使用的:
val eRDD: RDD[Edge[(VertexId, VertexId, String)]] = edges.map(x => Edge(x(0), x(1), x(2)))
我收到以下错误:
<console>:107: error: type mismatch;
found : (Long, Long, String)
required: org.apache.spark.graphx.VertexId
(which expands to) Long
val eRDD: RDD[Edge[(VertexId, VertexId, String)]] = edges.map(x => Edge(x(0), x(1), x(2)))
你的类型定义是错误的。要么:
val eRDD: RDD[Edge[String]] = edges.map(x => Edge(x(0), x(1), x(2)))
或者只是做:
val eRDD = edges.map(x => Edge(x(0), x(1), x(2)))
并让 Scala 为您推断类型。