猪相当于SQL GREATEST / LEAST?

时间:2014-12-03 03:05:27

标签: apache-pig

我正在尝试找到等同于the SQL functions GREATEST and LEAST的猪。这些函数分别是聚合SQL函数MAXMIN的标量等效函数。

基本上,我希望能够说出这样的话:

x = LOAD 'file:///a/b/c.csv' USING PigStorage() AS (a: int, b: int, c: int);
y = FOREACH x GENERATE a AS a: int, b AS b: int, c AS c: int, GREATEST(a, b, c) AS g: int;

我知道我可以使用行李和MAX来完成这项工作,但我正在将另一种语言翻译成Pig,并且实施起来很难整合。

我可以在这里使用“内联”方法吗?我忽略了一些内置函数,或者可能是Piggybank或DataFu中的UDF,这将是理想的!如果有一个完全“内联”的版本使用行李而我只是没想到它,那也没关系!

谢谢!

1 个答案:

答案 0 :(得分:5)

事实证明,有"内联"基于行李的方法有效:

x = LOAD 'file:///a/b/c.csv' USING PigStorage() AS (a: int, b: int, c: int);
y = FOREACH x GENERATE a AS a: int, b AS b: int, c AS c: int, MAX(TOBAG(a, b, c)) AS g: int;