gpt4 book ai didi

sql - Redshift COPY 命令返回 STL_load_error 1205 无效的日期格式 - 长度必须为 10 或更多

转载 作者:行者123 更新时间:2023-12-05 00:46:33 26 4
gpt4 key购买 nike

我正在将 .csv 文件从 S3 复制到 Redshift,Redshift COPY 命令返回

  • STL_load_error 1205
  • 无效的日期格式 - 长度必须为 10 或更多。

我的日期都是 10 个字符长,默认格式为 'YYYY-MM-DD'。

命令:

COPY [table]
FROM [file location]
ACCESS_KEY_ID [___]
SECRET_ACCESS_KEY [____]
FORMAT AS CSV
IGNOREHEADER 1;

该表是使用以下方法创建的:

CREATE TABLE finance.commissions_life (
submitted_date date,
campaign varchar(40),
click_id varchar(40),
local_id varchar(40),
num_apps float);

.csv 也是这种格式。

还有其他人有类似的问题吗?

最佳答案

当我过去遇到这个错误时,我总是求助于明确定义要使用的分隔符和日期格式:

COPY db.schema.table
FROM 's3://bucket/folder/file.csv'
CREDENTIALS 'aws_access_key_id=[access_key];aws_secret_access_key=[secret_access_key]'
DELIMITER AS ','
DATEFORMAT 'YYYY-MM-DD'
IGNOREHEADER 1
;

如果您能够更改 S3 文件的结构/格式,您应该明确地将日期用引号括起来,并将其保存为制表符分隔的文本文件而不是 CSV。如果你能做到这一点,你的 COPY 命令将是:

COPY db.schema.table
FROM 's3://bucket/folder/file.csv'
CREDENTIALS 'aws_access_key_id=[access_key];aws_secret_access_key=[secret_access_key]'
DELIMITER AS '\t'
DATEFORMAT 'YYYY-MM-DD'
IGNOREHEADER 1
REMOVEQUOTES
;

此外,您应该能够查询系统表 STL_load_errors 以收集有关导致加载失败的确切行/文本的其他信息:

SELECT *
FROM stl_load_errors
ORDER BY starttime DESC
;

关于sql - Redshift COPY 命令返回 STL_load_error 1205 无效的日期格式 - 长度必须为 10 或更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59884986/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com