Как отформатировать поле метки времени при загрузке файла паркета в красное смещение? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть куча файлов паркета с полями меток времени в другом формате.Я хотел бы унифицировать форматы при загрузке данных в таблицу красного смещения.Но ниже синтаксис не работает, и он выдает ошибку TIMEFORMAT argument is not supported for PARQUET based COPY.

Любой обходной путь?Я могу придумать только одно решение, которое объединяет все форматы меток времени при создании файла паркета. Поскольку мне приходится загружать 2-3 года файлов паркета, поэтому это решение занимает много времени.Может ли кто-нибудь сообщить мне, если у вас есть какое-либо другое решение ИЛИ что-то не хватает в приведенном ниже синтаксисе

Синтаксис:

COPY redshift_table_name
FROM 's3://path/to/files'
IAM_ROLE '*****'
TIMEFORMAT AS 'YYYY-MM-DDTHH:MI:SS'
FORMAT AS PARQUET

1 Ответ

0 голосов
/ 09 июля 2019

Если вы можете использовать библиотеку Pyarrow, загрузите таблицы паркета, а затем запишите их обратно в формате паркета , используя параметр use_deprecated_int96_timestamps.Redshift правильно их распознает.Мне не повезло заставить его правильно распознавать любые другие форматы меток времени при загрузке Parquet.

...