将 S3 复制到 Redshift:字符串长度超过 DDL 长度

All*_*lie 5 import amazon-s3 amazon-web-services amazon-redshift

我已手动检查文件以确保没有超过长度的内容。这一切都很好,但无论如何我都将每个 varchar 的长度加倍了。

我添加了 TRUNCATECOLUMNS 参数:

TRUNCATECOLUMNS

将列中的数据截断为适当的字符数,以使其符合列规范。仅适用于具有 VARCHAR 或 CHAR 数据类型的列以及大小为 4 MB 或更小的行。

仍然收到此错误:Copy s3 to redshift: String length exceeds DDL length

COPY [table name] 
FROM [s3 path]
iam_role [iam role]
FORMAT CSV
IGNOREHEADER 1
region 'us-west-2'
BLANKSASNULL 
TRIMBLANKS
TRUNCATECOLUMNS
Run Code Online (Sandbox Code Playgroud)

All*_*lie 3

事实证明这并不是真正的问题。此错误涵盖了许多其他内容,包括日期列中的文本和数字列中的字符串......这是实际问题。