当我尝试使用 COPY 将 CSV 文件加载到 Amazon Redshift 中时,没有加载任何内容

上次更新时间:2020 年 1 月 3 日

我尝试使用 COPY 命令将 CSV 文件从 Amazon Simple Storage Service (Amazon S3) 加载到 Amazon Redshift 中。虽然文件包含记录,但却没有加载任何内容,而且没有返回任何错误。

解决方法

当 CSV 文件使用回车符(十六进制的“\\r”、“^M”或“0x0D”)作为行终止符时,就会出现这个问题。由于 Amazon Redshift 无法识别作为行终止符的回车符,因此文件会解析为一行。如果 COPY 命令的 IGNOREHEADER 参数值已设置为非零数值,则 Amazon Redshift 会跳过第一行,即跳过整个文件。由于操作从技术层面来讲是成功的,因此不会返回任何加载错误。

要解决这个问题,应将回车符替换为 CRLF(十六进制的“\\r\\n”或“0x0D0A”)或 LF (十六进制的“\\n”或“0x0A”)。将修改后的文件上传到 S3 存储桶,然后再次尝试运行 COPY 命令。


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?