如何将spark数据集转换为scala seq

问题描述 投票:-3回答:1

我有以下案例类

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

和火星数据集的站点

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

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

scala apache-spark scala-collections apache-spark-dataset
1个回答
3
投票

您可以使用collect将数据集转换为Array。你可以自由转换为Seq

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

但请谨慎使用:

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

© www.soinside.com 2019 - 2024. All rights reserved.