猪相当于SQL GREATEST/LEAST?

sig*_*ned 3 apache-pig

我试图找到猪等同的SQL函数GREATESTLEAST.这些功能的聚集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;
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

sig*_*ned 6

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

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;
Run Code Online (Sandbox Code Playgroud)