通过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
有没有人遇到同样的问题?你是怎么解决的?
答案 0 :(得分:0)
追加
ACCEPTANYDATE dateformat 'auto'
在你的复制声明中。
ACCEPTANYDATE dateformat (AWS文档)
这至少会强制执行您的复制声明不会失败。仍然,一些不受支持的格式可能为null(正如您所提到的,我对损坏的记录(包含错误时间戳的记录)没有加载到redshift时很好。但是应该加载其他记录)