1、标量
int 4字节 有符号
long 8字节 有符号
float 4字节
double 8字节
chararray 就是string \t = Tab \n 为结束符
bytearray
2、组合类型
Map : ['name'#'bob', 'age'#55],顶一个两个key,name和age,name的类型为chararay,age的类型为int
Tuple: ('bob', 55)
Bag: {('bob', 55),('bob', 55),('bob', 55)}
3、Schemas
pig基本上是没有schemas的,但是你要告诉pig如何去解析数据
dividends = load 'NYSE_dividends' as
(exchange:chararray, symbol:chararray, date:chararray, dividend:float);
当然也可以把数据解析成为组合类型
也可以在加载数据的不指定schema
daily = load 'NYSE_daily';
calcs = foreach daily generate $7 / 1000, $3 * 100.0, SUBSTRING($0, 0, 1), $6 - $3;
$符号指定某一列
daily = load 'NYSE_daily';
fltrd = filter daily by $6 > $3;
4、类型转换
unintended = foreach player generate (int)bat#'base_on_balls' - (int)bat#'ibbs';