2017-02-28 3 views
0

마지막 세 필드에 대해 여러 개의 입력을 생성하고 싶습니다. 하나의 레코드에서 하나의 레코드 당 하나의 세금 인스턴스를 만들고 싶습니까? 돼지에서 어떤 방법을 사용해야합니까?PIG에서 복수 레코드로 레코드 분할하기

입력 스키마

id  key adr   name  tax  tax1  tax2 

123456|1234|123 main st| jane doe| 123xxx | 124xxx | 125xxx 

그것은 돼지에 위의 입력에서 다음과 같은 출력을 얻을 수 있습니까?

123456|1234|123 main st| jane doe| 123xxx 

123456|1234|123 main st| jane doe| 124xxx 

123456|1234|123 main st| jane doe| 125xxx 

답변

0

는()

A = LOAD 'data.txt' USING PigStorage(','); 
B = FOREACH A GENERATE $0,$1,$2,$3,FLATTEN(ToBag($4,$5,$6)); 
DUMP B; 
+0

안녕 사용 ToBag, 내가 그것을 시도했다. 대신에 세금의 각 사례에 대해 별도의 기록을 제공하는 대신 그것은 세금의 가방을 만듭니다. – pd123

+0

FLATTEN (TOBAG ($ 4, $ 5, $ 6)) –

+0

모든 도움에 감사드립니다. 그게 효과가있어. – pd123