2012-11-15 5 views
1

누락 된 값을 일부 사전 계산 된 값으로 바꾸려고합니다.돼지의 bincod 평가

그래서 나는 코드가

input = LOAD 'data.txt' USING PigStorage(',') AS 
(
id1:double , id21:double ); 

gin = foreach input generate 
     id1 IS NULL ? 2 : id1, 
     id2 IS NULL ? 4 : id2; 

을 니펫하지만 SEMI_COLON 기대 '는'오류 일치하지 않는 입력을 얻고 여기에 여기에 질문을 게시하고 조언을 따르고?

+0

가능한 복제 [돼지의 값을 대체하는 라틴어 (http://stackoverflow.com/questions/13386609/replacing-values-in-pig-latin) – C8H10N4O2

답변

3

bincond에 괄호를 추가하십시오. 나를 위해 적절하게 다음 작품 : input

내용 :

0.9,1.11 
,0.3 
10.3, 

스크립트 :

inp = LOAD 'input' USING PigStorage(',') AS (id1:double, id2:double); 

gin = foreach inp generate 
    ((id1 IS NULL) ? 2 : id1), 
    ((id2 IS NULL) ? 4 : id2); 

DUMP gin; 

출력 :의

(0.9,1.11) 
(2.0,0.3) 
(10.3,4.0)