如何将Spark数据集转换为Scala Seq

时间:2019-04-04 10:05:45

标签: scala apache-spark scala-collections apache-spark-dataset

我有以下案例类

case class Station(id: Long, name: String) extends Node

和站点的Spark数据集

vertices: org.apache.spark.sql.Dataset[Station] = [id: bigint, name: string]

我想将顶点数据集转换为Seq [Station]。 我发现了很多关于如何从序列中创建数据集的教程,反之亦然。你对我有什么提示吗?

1 个答案:

答案 0 :(得分:2)

您可以使用collect将数据集转换为Array。您可以随意转换为Seq

val verticesSeq: Seq[Station] = vertices.collect().toSeq

请谨慎使用:

  

运行收集需要将所有数据移至应用程序的驱动程序进程中,并且在非常大的数据集上执行此操作可能会导致OutOfMemoryError导致驱动程序进程崩溃。