spark: разделить только один столбец в кадре данных и оставить оставшиеся столбцы без изменений - PullRequest
0 голосов
/ 01 мая 2019

Я читаю файл в искровом фрейме.В первом столбце я получу два значения, соединенных с "_".Мне нужно разделить первый столбец на два столбца и оставить оставшиеся столбцы без изменений.Я использую Scala с Spark

Например:

col1  col2   col3

a_1    xyz   abc

b_1    lmn   opq

Мне нужен новый DF:

col1_1  col1_2  col2  col3

a       1       xyz   abc

b       1       lmn   opq

нужно разделить только один столбец на двастолбцы.

Я попытался использовать функцию split с помощью df.select, но мне нужно написать выбор для оставшихся столбцов и рассмотреть различные файлы с сотнями столбцов, и я хочу использовать повторно используемый код для всех файлов.

1 Ответ

1 голос
/ 01 мая 2019

вы можете сделать что-то вроде:

import spark.implicits._

df.withColumn("_tmp", split($"col1", "_"))
 .withColumn("col1_1", $"_tmp".getItem(0))
 .withColumn("col1_2", $"_tmp".getItem(1))
 .drop("_tmp")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...