我正在尝试将AWS S3中的CSV文件加载到AWS Redshift中。 CSV文件包含如下行:
15,NaN时,0
该表是通过以下方式创建的:
CREATE TABLE foo(INT,b DOUBLE PRECISION,c INT);
我正在尝试使用COPY命令加载表:
COPY foo(a,b,c)FROM“s3://”CREDENTIALS ... CSV;
我抱怨错误:
无效的数字值'N'
尝试通过INSERT语句手动加载相同的行可以正常工作:
INSERT INTO foo(a,b,c)VALUES(15,'NaN',0);
非常感谢任何帮助!
答案 0 :(得分:5)
如果你想做的话,你需要告诉Redshift将NaN加载为NULL。
例如:
COPY foo from 's3://xxx' credentials 'xxxx' DELIMETER AS ',' NULL 'NaN';
这应该成功执行并在表中插入NULL而不是NaN。