来自S3的Redshift复制命令有效,但没有上传数据

时间:2015-01-07 22:56:47

标签: amazon-s3 copy amazon-redshift

我正在使用copy命令将文件(.csv.gz)从AWS S3复制到Redshift

复制sales_inventory 's3的:// [删除] .csv.gz' 证书'[编辑]' COMPUPDATE ON DELIMITER',' GZIP IGNOREHEADER 1 REMOVEQUOTES MAXERROR 30 NULL'NULL' TIMEFORMAT'YYYY-MM-DD HH:MI:SS' ;

我没有收到任何错误,只是'0行成功加载'。我查看了简单的事情:仔细检查文件的内容,确保我使用copy命令定位了正确的文件。然后我创建了一个简单的一行示例文件来尝试它不起作用。我一直在使用我很久以前制作的复制命令模板,这个模板最近才起作用。

我可能忽略了任何常见错误?除了我可以尝试的示例文件之外的任何其他方式吗?

感谢。

1 个答案:

答案 0 :(得分:2)

使用IGNOREHEADER 1选项,Redshift会将第一行视为标题并跳过它。如果文件中只有一行,则应关闭此选项。

如果您的文件包含多条记录,则可能会出现数据加载错误。由于您正在指定MAXERROR 30,因此Redshift将跳过最多30条记录的无效记录并返回成功结果。复制期间的加载错误信息将存储在STL_LOAD_ERRORS表中。尝试SELECT * FROM STL_LOAD_ERRORS order by starttime desc limit 10;检查是否有加载错误。