При использовании спектра Redshift вы можете сопоставить поля string
json с TIMESTAMP
столбцами напрямую, но ваш пример не сработает из-за пустой строки для временной метки - это не разбирается - вам нужно убедиться, что Ваш код Python генерирует правильные JSON null
s.
Это будет ваш внешний стол:
CREATE EXTERNAL TABLE my_external_schema.my_external_table(
"created_date": timestamp,
"resolved_date": timestamp,
"last_updated_date": timestamp
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
STORED AS TEXTFILE
LOCATION 's3://my_external_location/'
если вам действительно нужны эти данные, загруженные в красное смещение, вы можете сделать:
CREATE TABLE my_schema.my_table AS SELECT * FROM my_external_schema.my_external_table;
Другой вариант - использовать команду Redshift COPY
для загрузки данных. Он также должен уметь обрабатывать json string
как TIMESTAMP
, и я полагаю, что вы можете указать, что ""
следует указывать как NULL
s.