2014-05-15 4 views
4

AWS S3에서 AWS Redshift로 CSV 파일을로드하려고합니다. CSV 파일과 같은 라인을 포함AWS Redshift에 NaN을 사용하여 CSV 데이터로드

표를 통해 생성 된 0

15 NaN이 :

DOUBLE PRECISION B TABLE foo는 (a INT를 작성, C의 INT);

그리고 나는 COPY 명령을 사용하여 테이블을로드하려고 :

복사 foo는 (A, B, C)로부터 "S3 : //"신임장 ... CSV;

그리고 오류 불평 수 :

잘못된 숫자 값을 'N'

INSERT 문을 통해 같은 라인을로드하려고 수동으로 잘 작동 :

INSERT INTO foo (a, b, c) VALUES (15, 'NaN', 0);

도움이 될 것입니다.

답변

3

Redshift에게 NaN을 NULL로로드해야한다고 말하면됩니다. 예를 들어

:

COPY foo from 's3://xxx' credentials 'xxxx' DELIMETER AS ',' NULL 'NaN'; 

이 성공적으로 실행하고 대신 NaN이의 테이블에 NULL을 삽입해야한다.

+0

실제로는 NULL이 아닌 NaN으로로드하려고합니다 (단 정밀도 열에 대해서는 NaN 구조를 지원합니다). 그러나 이것이 CSV에서 가능하지 않을 수 있습니다. – Craig

관련 문제