在Scala代码中没有硬编码类型,是否有一种从Spark DataFrame
转到EdgeRDD
的好方法?我见过的示例用例类来定义EdgeRDD
的类型。
我们假设我们的Spark DataFrame
有StructField
("dstID", LongType, false)
和("srcID", LongType, false)
以及0到22之间的StructField
(我们正在限制这一点,以便我们可以使用TupleN来表示它们)。是否有一种干净的方法来通过抓取EdgeRdd[TupleN]
中的类型来定义DataFrame
?作为动机,请考虑我们正在加载包含类型信息的Parquet文件。
我对Spark和Scala很新,所以我意识到这个问题可能是错误的。在这种情况下,我很欣赏学习“正确”思考这个问题的方法。
答案 0 :(得分:0)
实现这一目标的最简单方法可能是映射Dataframe中的Row对象(使用map
)并以此方式返回。