【发布时间】:2017-09-26 05:19:50
【问题描述】:
通过 COPY 命令将数据从 S3 加载到 Redshift 时,如果文件中的任何记录包含不正确的时间戳,则复制失败。我已将 maxerror 作为 1000 传递给 COPY 命令,但仍然失败。
但是,在随后的重试中,相同的命令会起作用。虽然它无法加载损坏的记录。
这是我得到的错误:
ERROR: Assert
DETAIL:
-----------------------------------------------
error: Assert
code: 1000
context: status == 0 - timestamp: '-6585881136298398395'
query: 30903
location: cg_util.cpp:1063
process: query1_69 [pid=25674]
-----------------------------------------------
AWS cli version : aws-cli/1.10.56 Python/2.7.12 Linux/4.4.19-29.55.amzn1.x86_64 botocore/1.4.46
有人遇到过同样的问题吗?你是怎么解决的?
【问题讨论】:
-
您可以做的一个技巧是将时间戳字段作为字符串加载,然后使用 UPDATE 命令根据字符串填充时间戳列。
-
@JohnRotenstein 我对没有加载到红移的损坏记录(包含错误时间戳的记录)很好。但是应该加载其他记录,我认为将复制命令中的 maxerror 参数设置为某个值应该可以处理这个问题。但我看不到行为一致,有时会加载数据,有时会失败。
标签: amazon-web-services amazon-s3 amazon-redshift