Как сгладить вложенное поле в наборе данных Spark? - PullRequest
0 голосов
/ 29 июня 2018

У меня есть вложенное поле, как показано ниже. Я хочу вызвать flatmap (я думаю), чтобы получить сплющенную строку.

Мой набор данных имеет

А, В, [[х, у, г]], С

Я хочу преобразовать его для получения вывода, как

A, B, X, Y, Z, C

Это для Spark 2.0 +

Спасибо!

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте это для СДР:

val rdd = sc.parallelize(Seq(("A","B",Array("X","Y","Z"),"C")))

rdd.flatMap(x => (Option(x._3).map(y => (x._1,x._2,y(0),y(1),y(2),x._4 )))).collect.foreach(println)

Выход:

(A,B,X,Y,Z,C)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...