2014-10-15 20 views

cevap

6

Apache Pig'da FOREACH see Pig Basics'da iç içe geçmiş deyimleri kullanabilirsiniz. Dökümantasyondan örnek: AB’da bir çantadır.

X = FOREACH B { 
     S = FILTER A BY 'xyz'; 
     GENERATE COUNT (S.$0); 
} 

yerine COUNT sen IsEmpty kullanabilir ve:? Operatör

X = FOREACH B { 
     S = FILTER A BY 'xyz'; 
     GENERATE (IsEmpty(S.$0)) ? 'xyz NOT PRESENT' : 'xyz PRESENT') as present, B; 
} 

Veya sadece veri içeren çanta bırakmak:

X = FOREACH B { 
     S = FILTER A BY 'xyz'; 
     GENERATE B, S; 
} 
F = FILTER X BY not IsEmpty(S); 
R = FOREACH F GENERATE B; 

Bu masraflı önleyecektir kendisine katılmak Ek katılımlar ekstra Harita Azaltma işleri olarak.

İlgili konular