Создание новых столбцов в кадре данных на основе другого столбца - PullRequest
0 голосов
/ 09 ноября 2019

Извлечение полей из массива и создание новых столбцов данных.

пробовал .withColumn и его нормально работает, но у меня есть 20 таких столбцов, и я хочу записать UDF

Ввод: массив

 0: 1:07:00:22:30
 1: 2:06:30:22:30
 2: 3:06:30:22:30
 3: 4:06:30:22:30
 4: 5:06:30:22:30
 5: 6:06:30:22:30
 6: 7:07:00:22:30

Индекс формата ввода: День: OpenHours: OpenMinutes: ClosingHours: ClosingMin

val sliceTimeString = udf((data: String)=>data.trim().slice(2,13))

val formattedDF = rawDF.withColumn("delivery_hours_monday", sliceTimeString($"deliveryHours".getItem(0))).withColumn("delivery_hours_tuesday", sliceTimeString($"deliveryHours".getItem(1)))

Я могу написать 7 строк аналогично для отдельных часов доставки, но это не оптимизировано.

Я хочу определить UDF для установки 2 столбцов для каждого дня - часы работы понедельника, часы закрытия понедельника, часы работы вторника, часы закрытия вторника и т. Д.

Понедельник_открыто понедельник_открыт: 30 06:30 22: 30

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