Dataprep изменить столбец даты в столбец даты и времени - PullRequest
0 голосов
/ 24 июня 2019

У меня есть столбец с датами (в строковом формате) в Dataprep: ггггммдд.Я хотел бы, чтобы он стал объектом даты и времени.Какую функцию / преобразование я должен применить для автоматического достижения этого результата?

1 Ответ

1 голос
/ 24 июня 2019

В этом случае вам вообще не нужно применять преобразование - вы можете просто изменить тип столбца на Дата / Время и выбрать соответствующие параметры формата.

Примечание: Это одна из наименее интуитивно понятных частей Dataprep, так как вам нужно выбрать неправильный формат (в данном случае yy-mm-dd), прежде чем вы сможете перейти к правильному формату (yyyymmdd).

Вот скриншот окна типа Дата / Время, чтобы проиллюстрировать это: Google Cloud Dataprep Date/Time type picker dialog showing the yy-mm-dd type and yyyymmdd subtype selected

Хотя это не интуитивно понятно, это будет правильно обрабатывать столбецв качестве даты в будущих операциях, включая назначение правильного типа в операциях экспорта (например, BigQuery).

Через пользовательский интерфейс это сгенерирует следующий сценарий споров:

settype col: YourDateCol customType: 'Datetime','yy-mm-dd','yyyymmdd' type: custom

В соответствии с документация , это также должно работать (и более кратко):

settype col: YourDateCol type: 'Datetime','yy-mm-dd','yyyymmdd'

Обратите внимание, что если вам абсолютно необходимо сделать это в контексте функции, вы можете извлечь датучасти, использующие SUBSTRING / LEFT / RIGHT и передать их в DATE или DATETIME функция для создания объекта datetime.Как вы, вероятно, уже обнаружили, DATEFORMAT вернет NULL, если исходный столбец уже не имеет тип Datetime.

(хотя с точки зрения производительности, вероятно,гораздо более эффективно для большого набора данных либо просто изменить или создать новый столбец с правильным типом, чем выполнять эти дополнительные операции с таким количеством строк.)

...