猪:如何遍历所有字段/列?

时间:2014-06-26 17:00:14

标签: apache-pig

我是猪的新手。我需要对表中的所有字段/列进行一些计算。但是,我无法通过在线搜索找到方法。如果有人可以提供帮助,那就太好了!

例如:我有一个包含100个字段/列的表,其中大部分都是数字。我需要找到每个字段/列的平均值,有没有一种优雅的方法来执行它而不重复AVERAGE(column_xxx)100次?

如果只有一两列,那么我可以

B = group A by ALL;
C = foreach B generate AVERAGE(column_1), AVERAGE(columkn_2);

但是,如果有100个字段,重复写入AVERAGE 100次并且很容易出错,真的很乏味。

我能想到的一种方法是在Python中嵌入Pig并使用Python生成类似的字符串并放入编译中。然而,即使它有效,这仍然听起来很奇怪。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不认为有一个很好的方法可以用猪做这个。但是,这应该足够好,可以在5分钟内完成:

  1. 描述有问题的表格(或别名)
  2. 复制输出,并将其手动重新组合到您需要的脚本部分(例如使用excel)
  3. 完成并存储脚本
  4. 如果您需要能够突然改变等的柱子,那么在猪身上可能没有好的方法。也许你可以在所有列中读取它(例如在R中)并在那里进行操作。