【发布时间】:2019-02-11 14:52:48
【问题描述】:
我有 2 个大数据框,edge 和 vertex,我知道它们需要采用特殊类型 Vertex 和 Edge RDD,但我发现的每个教程都指定了 Edge 和Vertex RDD 作为 3 到 10 个项目的数组。我需要他们直接从大量 RDD 转换。如何将数据帧/普通 RDD 更改为正确的类型?
我遵循了这里的示例:https://spark.apache.org/docs/latest/graphx-programming-guide.html#example-property-graph,但它列举了所有关系,并且在我的用例中有很多关系。
edgedf 有 3 列,(sourceID、destID、relationship)vertexdf 有 2 列(ID、名称)
到目前为止我所尝试的:
val vertex: RDD[(VertexId, String)] = sc.parallelize((vertexDF("ID"), vertexDF("Name")))
返回错误:
error: type mismatch;
found : (org.apache.spark.sql.Column, org.apache.spark.sql.Column)
required: Seq[(org.apache.spark.graphx.VertexId, String)]
(which expands to) Seq[(Long, String)]
如何将数据帧/普通 RDD 更改为专门的顶点/边 RDD 类型?
【问题讨论】:
标签: scala apache-spark type-conversion spark-graphx