我有一堆带有不同格式的时间戳字段的镶木地板文件。我想在将数据加载到红移表时统一格式。但下面的语法不起作用,它会抛出错误
TIMEFORMAT argument is not supported for PARQUET based COPY
。
有什么解决办法吗?我只能想到一种解决方案,即在创建 parquet 文件时统一所有时间戳格式。由于我必须加载 2-3 年的 parquet 文件,因此该解决方案非常耗时。如果您有任何其他解决方案或以下语法中缺少任何内容,有人可以告诉我吗
语法:
COPY redshift_table_name
FROM 's3://path/to/files'
IAM_ROLE '*****'
TIMEFORMAT AS 'YYYY-MM-DDTHH:MI:SS'
FORMAT AS PARQUET
如果您可以使用 Pyarrow 库,请加载 Parquet 表,然后使用 use_deprecated_int96_timestamps
参数
以 Parquet 格式将它们写回。 Redshift 将正确识别这些。在加载 Parquet 时,我没有运气让它正确识别任何其他时间戳格式。
1608572074000 和 NOT 2020-12-21 17:34:34+00)
架构/元数据,使用 TimestampType