Как преобразовать набор искровых данных в scala seq - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть следующий класс дел

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

и набор данных Spark станций

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

Я хотел бы преобразовать набор данных вершин в Seq [Station]. Я нашел много уроков о том, как создать набор данных из последовательности, но не наоборот. У вас есть намеки на меня?

1 Ответ

3 голосов
/ 04 апреля 2019

Вы можете использовать collect для преобразования набора данных в Array.Вы можете затем преобразовать в Seq:

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

Используйте с осторожностью, хотя:

Выполнение сбора требует перемещения всех данных в процесс драйвера приложения и выполнениепоэтому на очень большом наборе данных может произойти сбой процесса драйвера с OutOfMemoryError.

...