2017-04-08 8 views
0

변수 설명, totalamt, 연도 및 유형이있는 파일이 있습니다.돼지에 값 저장

연도가 2000이고 특정 유형 인 경우 나중에 사용할 수 있도록이 필드를 저장하려고합니다.

연도가 2000보다 큰 경우 2000 년 값에서 증가 비율 ( )을 찾고 싶습니다. 복제본을 보았지만 사용 방법을 모릅니다.

mysales = load 'hdfs:/user/derezone_yahoo/retailsales.txt' using PigStorage(' ') AS (saledesc:chararray,totsales:int,salesyear:chararray,adjtype:chararray); 
baseamt = FOREACH mysales GENERATE IF salesyear=='2000' then join totalsales by 0 using replicated; 

이 문은 구문 오류, 예기치 않은 기호 또는 근처 'salesyear'

구문 오류가 무엇인가에 실패? 나는 그것을 괄호 안에 넣었지만 여전히 오류가있다.

또한 내 복제 문이 baseamt에 totalamt를 저장하는 것이 맞습니까?

데이터는 (즉, 2000, 2001,2002 등) 년의 순서로 구성되어

답변

0

의 Foreach는 경우 - 다른 조건 당신이 거기 넣어 한 방법을 허용하지 않습니다. 귀하의 경우에는 이 같은 것을보십시오 : here 조인에

mysales = load 'hdfs:/user/derezone_yahoo/retailsales.txt' using PigStorage(' ') AS (aledesc:chararray,totsales:int,salesyear:chararray,adjtype:chararray); 
B = FILTER mysales BY salesyear=='2000'; 
C = JOIN B BY .... (Your conditions) 

은 자세한 내용보기 :