foreach:一行一行的遍历数据,处理一行的数据,然后返回一个tuple。
users = load ‘/users.data‘;
f = foreach users generate name, age;
f = foreach users generate $0, $1;
f = foreach users generate name..
f = foreach users generate ..age;
f = foreach users generate name..age;
foreach users generate *;
foreach data generate $1-$0;
f = foreach users generate name, age>18?1:0;
data = load ‘data‘ as (name:chararray, team:chararray, bat:map[]); f = foreach data generate bat#‘key1‘;
data = load ‘data‘ as (name:chararray, team:chararray, bat:tuple(x:int, y:int)); f = foreach data generate bat.x;
data = load ‘data‘ as (name:chararray, team:charray, bat:bag{t:tuple(x:int, y:int)}); f = foreach data generate bat.x;
引用多个字段
f = foreach data generate bat.(x, y);
upped = foreach data generate UPPER($0) as a, $1 as b; grped = group data by a; sums = foreach grped generate group, SUM(b);
原文:http://www.cnblogs.com/lishouguang/p/4559295.html