谁能帮我将下面的公式转换为Pig?

((score + score2)/3)*(1+(5/(10*sqrt(power((score - score2),2)+1))))​

谢谢。

最佳答案

是的,您可以在Pig中做到这一点。您将需要piggybank.jar的路径。那里有很多数学函数。无论您安装了Pig的哪个位置,它通常都在lib目录中。所以,我的是/usr/local/pig/lib/piggybank.jar。这是所有功能的docs(我认为这是到Pig的旧版本的链接,但是可以很好地引用此问题)。我猜您将与其中的变量scorescore2有一些关系。我们将其称为A

REGISTER '/path/to/pig/piggybank.jar'
DEFINE SQRT org.apache.pig.piggybank.evaluation.math.SQRT;
DEFINE POW org.apache.pig.piggybank.evaluation.math.POW;

/**
 * You'll probably want to import some data here
 */

B = FOREACH A GENERATE ((score + score2)/3)*(1+(5/(10*SQRT(1+POW((score - score2), 2)))));

07-25 21:23