我正在使用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命令定位了正确的文件。然后我创建了一个简单的一行示例文件来尝试它不起作用。我一直在使用我很久以前制作的复制命令模板,这个模板最近才起作用。
我可能忽略了任何常见错误?除了我可以尝试的示例文件之外的任何其他方式吗?
感谢。
答案 0 :(得分:2)
使用IGNOREHEADER 1
选项,Redshift会将第一行视为标题并跳过它。如果文件中只有一行,则应关闭此选项。
如果您的文件包含多条记录,则可能会出现数据加载错误。由于您正在指定MAXERROR 30
,因此Redshift将跳过最多30条记录的无效记录并返回成功结果。复制期间的加载错误信息将存储在STL_LOAD_ERRORS表中。尝试SELECT * FROM STL_LOAD_ERRORS order by starttime desc limit 10;
检查是否有加载错误。