Как создать данный массив данных через данный набор данных в Spark с Scala? - PullRequest
0 голосов
/ 16 мая 2018

Набор данных:

GroupID Name_of_books

101 book1, book2, book3, book4

102 book10, book12, book13, book14

Требуемый вывод:

101 book1

101 book2

101 book3

101 book4

102 book10

102 book11

103 book12

104 book13

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете использовать функцию explode как

import org.apache.spark.sql.functions._

val resuldDF = df.select($"GroupID", explode($"Name_of_books").as("Name_of_books")

или withColumn

val resuldDF = df.withColumn("Name_of_books", explode($"Name_of_books"))

Это работает, если столбец является массивом или картой, если у вас есть строковое значение, разделенное запятой, Вам нужно split сначала и применить explode как

val resuldDF = df.select($"GroupID", explode(split($"Name_of_books", ",")))

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...