2014-09-30 1 views
0

Aginet Netteza 워크 벤치를 통해 IBM Netezza SQL 데이터베이스의 테이블에 CSV 파일 (122GB, 모든 필드가 정수 또는 문자열 임)을 가져와야합니다.csv 파일에서 IBM netezza sql 데이터베이스로 데이터를 가져 오는 중 오류가 발생했습니다.

필드 이름이 csv 파일의 이름과 일치하는 테이블을 만들었습니다. 나는 내 보내지 가져 오기를하고있는 중이 야하기 때문에

Unable to export the data to a file. Error: required option for internal format is not set: Compress 

내가 혼란 스러워요 : 나는 데이터를 가져 오면

나는 오류가 발생했습니다. 이것은 내 SQL 쿼리입니다 :

CREATE TABLE my_table 
    (
    id integer , 
    value1 integer , 
    value2 character varying(2) , 
    value3 integer , 
    value4 character varying(32) , 
    value5 integer , 
    value6 double precision 
); 


    INSERT INTO my_table 
    SELECT * FROM 
    EXTERNAL 'E:\\my_path\\my_file.csv' 
    USING 
    (
     DELIMITER ',' 
     LOGDIR 'C:\\my_log' 
     Y2BASE 2000 
     ENCODING 'internal' 
     SKIPROWS 1 
     REMOTESOURCE 'ODBC' 
     ESCAPECHAR '\' 
    ) 

도움이 되길 바랍니다.

감사합니다.

답변

1

이것은 잘못된 텍스트의 경우입니다. CSV에서 가져 오는 경우에는 텍스트를 FORMAT로 사용해야합니다. 그것은 당신이 원하는 것이 아닌 '내부'를 기본값으로하는 것처럼 보입니다. USING 섹션에 FORMAT 'text'를 추가하여 텍스트 파일로 작업하고 있음을 명시하십시오.

INSERT INTO my_table 
    SELECT * FROM 
    EXTERNAL 'E:\\my_path\\my_file.csv' 
    USING 
    (
     DELIMITER ',' 
     LOGDIR 'C:\\my_log' 
     Y2BASE 2000 
     ENCODING 'internal' 
     SKIPROWS 1 
     REMOTESOURCE 'ODBC' 
     ESCAPECHAR '\' 
     FORMAT 'text' 
    )