谁能帮我将下面的公式转换为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的旧版本的链接,但是可以很好地引用此问题)。我猜您将与其中的变量score
和score2
有一些关系。我们将其称为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)))));