안녕하세요, 누군가는 왜 FILTER 명령이 다음 코드에서 아무 것도 반환하지 않는 이유를 알고 있습니까? 고마워! 왜 PIG FILTER는 아무 것도 반환하지 않습니까?
data = LOAD 'sample1.txt'
AS (campaign_id:chararray,
date:chararray,
time:chararray,
keyword:chararray,
display_site:chararray,
placement:chararray,
was_clicked:int,
cpc:int);
count1 = FOREACH (GROUP data ALL) GENERATE COUNT(data);
DUMP count1;
clicked = FILTER data BY (was_clicked==1);
DUMP clicked;
count2 = FOREACH (GROUP clicked ALL) GENERATE COUNT(clicked);
DUMP count2;
나는
DUMP data
을 시도하고 (was_clicked == 1) 일부 레코드가 참조하십시오.
DUMP count1
이 표시됩니다 (100). 이는 예상대로입니다.
DUMP clicked
아무 것도 표시되지 않았습니다. DUMP count2
아무 것도 표시되지 않았습니다. 내가 스크립트에서 문제를 볼 didnt는 $ pig -x local analysis1.pig
당신이 덤프 COUNT1의 출력을 붙여 주실 래요? –
안녕하세요 @ GauravPhapale 출력은 (100)입니다. 데이터를 다시 확인한 결과 데이터에 잘못된 스키마가 사용 된 것으로 나타났습니다. 사실 마지막 열이지만 하나는 contry : 데이터에서 chararray,하지만 was_clicked : int 계획에 썼습니다. 이것이 문제였습니다. 당신의 도움을 주셔서 감사합니다! –