如何添加列,保留现有列,而不是全部列出?

时间:2013-12-11 19:42:48

标签: apache-pig

我想在别名中添加一个新列,保留所有现有列。

A = foreach A generate
  A.id as id, 
  A.date as date, 
  A.foo as foo, 
  A.bar as bar, 
  A.foo / A.bar as foobar;

我可以在没有明确列出所有内容的情况下这样做吗?

1 个答案:

答案 0 :(得分:8)

是的,我们假设你有一个别名:

A: {num1:int, num2:int}

并且您希望在保留num1num2的同时计算总和。你可以这样做:

B = FOREACH A GENERATE *, num1 + num2 AS num3:int ;
DESCRIBE B; 
B: {num1:int, num2:int, num3:int}

像这样使用*运算符生成所有字段。