궁극적 인 목표는 ngram 데이터 세트를 내 Greenplum 데이터베이스의 내부로드 테이블에 삽입하는 것입니다.Greenplum ngram 데이터 세트 : 누락 된 데이터
서버가 gpfdist
입니다.
CREATE EXTERNAL TABLE ng_schema.fre2(
id bigserial,
ngram text,
year int4,
match_count int4,
page_count int4,
volume_count int4)
LOCATION ('gpfdist://10.1.8.4:8081/ngram_2009h1/fre-all/2/*.csv')
FORMAT 'TEXT' (HEADER)
LOG ERRORS INTO ng_schema.load_e_fre2 SEGMENT REJECT LIMIT 500 rows;
데이터 세트 모두 "CSV"라고,하지만 그들은 쉼표를 포함하지 않는 :
나는 (그린 플럼에) 외부 테이블을 만들었습니다. 탭이 있습니다.
#head -n20 *92.csv
! 144 1836 2 2 2
....
다음으로, 나는 외부 테이블 테스트 :
SELECT * FROM fre2;
ERROR: Segment reject limit reached. Aborting operation. Last error was
missing data for column "volume_count"...
내 로그 오류 테이블로 이동하고이를 참조하십시오
2016-07-21 20:51:49.05593+00 | fre2 | gpfdist://10.1.8.4:8081/ngram_2009h1/fre-all/2/*.csv [/mnt2/ngram_2009h1/fre-all/2/googlebooks-fre-all-2gram-20090715-0.csv] | | | missing data for column "volume_count" | ! Giscard 1979 2 2
2 |
나는 FORMAT 'TEXT' (HEADER)
와 장난 시도했습니다. 나는 DELIMITER ' '
을 추가했습니다. 나는 그것을 CSV
으로 바꿨지만, 나는 다른 컬럼에 대한 데이터가 누락되어 버렸다.
문제는 "! Giscard"가 2 열로 계산된다는 것입니다. ngram에는 그 안에 공백이 있습니다. 또는 id bigserial
?
변경 사항에 대한 아이디어가 있으십니까?
정말 고마워요 !! 수정 사항은 외부 테이블에'bigserial' id를 나열하는 것이 아니 었습니다. 나는 오류가 없다! 나는 (HEAD DELIMITER '\ t')','E '\ t''이 나를 위해 일하지 않았다. 헤더 행이 있기 때문에'HEAD'를 추가했습니다. – syuja
잠깐, 'E'\ t''가 필요 끝내 버렸습니다! 다시 한 번 감사드립니다! – syuja