2014-11-14 4 views
1

샘플 데이터 (TSV 파일 : SAMPL)샘플링 에러

1

2 B

3 C

raw= load 'sampl' using PigStorage() as (f1:chararray,f2:chararray); 
grouped = group raw by f1; 

describe grouped; 
fields = foreach grouped { 
    x = sample raw 1; 

    generate x; 
} 

때 나는 이걸 달린다. 줄에 오류가있다. x = sample raw 1; 오류 1200 : mism '원시'예상치 못한 입력 LEFT_PAREN

그룹화 된 레코드에는 샘플링이 허용되지 않습니까?

답변

0

중첩 된 블록에서 '샘플'명령을 사용할 수 없습니다. 이것은 돼지에서 지원되지 않습니다.
중첩 된 블록에는 (CROSS, DISTINCT, FILTER, FOREACH, LIMIT 및 ORDER BY)과 같은 연산 연산 만 허용됩니다. 중첩 된 블록 외부에서 sample 명령을 사용해야합니다.

다른 문제는 기본 구분 기호 즉 탭을 사용하여 입력 데이터를로드하는 것입니다. 그러나 입력 데이터는 공백으로 구분되므로이 스크립트를 변경해야합니다.

raw= load 'sampl' using PigStorage(' ') as (f1:chararray,f2:chararray); 
+0

의견을 보내 주셔서 감사합니다. 입력 데이터에는 탭이 있지만 복사 - 붙여 넣기 오류로 인해 여기에는 공백으로 표시됩니다. – user765938

+0

도움이 되었다면이 질문에 답을 표시하십시오. –