2014-10-15 14 views

Trả lời

6

Trong Apache Pig, bạn có thể sử dụng câu lệnh được lồng trong FOREACH see Pig Basics. Dưới đây là ví dụ từ tài liệu: A là một chiếc túi ở B.

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

Thay vì COUNT địa chỉ bạn có thể sử dụng IsEmpty và: nhà điều hành

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

Hoặc chỉ rời khỏi túi có chứa các dữ liệu:

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

Điều này sẽ tránh tốn kém tham gia với chính nó , như là gia nhập thêm là thêm Map Reduce jobs.

Các vấn đề liên quan