Работа склеивания AWS для сопоставления строки с форматом даты и времени при преобразовании из CSV в паркет - PullRequest
0 голосов
/ 14 января 2019

при преобразовании из csv в паркет с использованием задания ETL для склеивания AWS после сопоставления полей в csv, считываемых как строка для типа даты и времени. enter image description here это фактический CSV-файл enter image description here

после сопоставления и преобразования поле даты пусто, а время объединено с сегодняшней датой enter image description here

Как конвертировать с правильным форматом даты и времени?

1 Ответ

0 голосов
/ 14 января 2019

Используются типы данных presto, поэтому данные должны быть в правильном формате

ДАТА Календарная дата (год, месяц, день).

Пример: ДАТА '2001-08-22'

ВРЕМЯ Время суток (часы, минуты, секунды, миллисекунды) без времени зона. Значения этого типа анализируются и отображаются во время сеанса зона.

Пример: ВРЕМЯ '01: 02: 03.456 '

TIMESTAMP Мгновенное время, включающее дату и время дня без часового пояса. Значения этого типа анализируются и отображаются в часовой пояс сеанса.

Пример: TIMESTAMP '2001-08-22 03: 04: 05.321'

Вы можете использовать

df = df.withColumn(col, to_timestamp(col, 'dd-MM-yyyy HH:mm'))
df = df.withColumn(col, to_date(col, 'dd-MM-yyyy'))
df = df.withColumn(col, date_format(col, 'HH:mm:ss'))
...