错误:加载到表中 - COPY命令中的数据无效

问题描述 投票:0回答:1

我使用COPY命令将数据从CSV文件导入Amazon Redshift并获取错误:

COPY table1 FROM 's3://cucket1/table1.csv' 
credentials 'aws_access_key_id=aaaa;aws_secret_access_key=aaaa' 
IGNOREHEADER 1  
csv 
NULL AS '\N' 
timeformat 'auto';

错误:加载到表'table1'失败。检查'stl_load_errors'系统表以获取详细信息。

我的csv文件看起来像:

"id","name","created_at","updated_at"
"1","2","NULL","NULL"
"2","1","NULL","NULL"
"6","1","NULL","NULL"
"87","1","NULL","NULL"

当我从csv文件中删除NULL值时,COPY命令正常工作。如何在redshift COPY命令中处理NULL值?enter code here

amazon-web-services amazon-redshift
1个回答
2
投票

看起来你的NULLs有格式"NULL"。这应该工作:

COPY table1 FROM 's3://cucket1/table1.csv' 
credentials 'aws_access_key_id=aaaa;aws_secret_access_key=aaaa' 
IGNOREHEADER 1  
csv 
NULL AS 'NULL' 
timeformat 'auto';

另外看看stl_load_errors会让你更好地了解什么是错的。

你试过select * from stl_load_errors order by starttime desc limit 100;吗?此查询应该为您提供有关无法加载的数据的所有详细信息。我怀疑在你的情况下,"NULL"没有被解析为TIMESTAMP类型。

© www.soinside.com 2019 - 2024. All rights reserved.