首页 > 解决方案 > 将镶木地板文件加载到红移时如何格式化时间戳字段?

问题描述

我有一堆带有不同格式时间戳字段的镶木地板文件。我想在将数据加载到红移表时统一格式。但下面的语法不起作用,它会抛出错误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

标签: amazon-web-servicesamazon-s3amazon-redshiftparquet

解决方案


如果您可以使用 Pyarrow 库,请加载 parquet 表,然后使用参数以 Parquet 格式将它们写回。use_deprecated_int96_timestampsRedshift 将正确识别这些。在加载 Parquet 时,我没有任何运气让它正确识别任何其他时间戳格式。


推荐阅读