Конвертировать много строк с разделителем в массив в Scala - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть такой фрейм данных:

userId    someString      varA     varB
   1      "example1"    0,2,5     1,2,9
   2      "example2"    1,20,5   9,null,6

Я хочу преобразовать данные в VarA и varB в массив String

userId    someString      varA     varB
   1      "example1"    [0,2,5]   [1,2,9]
   2      "example2"    [1,20,5]  [9,null,6]

1 Ответ

0 голосов
/ 15 февраля 2019

Это довольно просто.Вы можете использовать функцию разделения SQL.

 import org.apache.spark.sql.functions.split
df.withColumn("varA", split($"varA",",")).withColumn("varB", split($"varB",",")).show()

Выход

+------+----------+----------+------------+
|userId|someString|      varA|        varB|
+------+----------+----------+------------+
|     1|  example1| [0, 2, 5]|   [1, 2, 9]|
|     2|  example2|[1, 20, 5]|[9, null, 6]|
+------+----------+----------+------------+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...