Копирование формата метки времени из авро в красное смещение - PullRequest
2 голосов
/ 10 февраля 2020

Я пытаюсь скопировать файл avro в красное смещение с помощью команды COPY. В файле есть столбец типа:

{'name': 'timestamp', 'type': ['null', {'logicType': 'timestamp-millis', ' type ':' long '}]}],

Тип переменной Redshift: timestampz timestampz

Когда я запускаю следующую команду copy, если происходит сбой:

COPY table_name 
from 'fil_path.avro' 
iam_role 'the_role' 
FORMAT AS avro 'auto' 

необработанное значение поля: 1581306474335

Недопустимый формат или значение метки времени [ГГГГ-ММ-ДД ЧЧ24: MI: SSOF]

Однако, если добавить следующую строку Это работает:

timeformat 'epochmillisecs'

Я пытался поставить свою метку времени в микросекундах, которая должна быть базовым поддерживаемым разрешением эпох, но она также не работает, и не нашел подходящего имени (кажется, что epochmicrosecs не подходит работа). Мой вопрос: почему это так?

Кроме того, у меня есть еще одно поле, которое вызывает некоторые проблемы. Поле даты, которое, по-видимому, сохраняется в виде числа дней в файле avro (7305), которое выдает следующую ошибку:

Тип переменной Redshift: дата рождения "* дата рождения"

avro: 'date_of_birth', 'type': ['null', {'type': 'int', 'logicType': 'date'}]}

Неверный формат даты - длина должна быть 10 или более

...