将函数参数传递给清管器

dm7nw8vv  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(395)

这是我的apache pig问题,我在python脚本中运行pig脚本。pig中有一个名为priority的字段,其值要么是随机数,要么就是null。每个输入记录应该有一个不同的随机数。在调用pig脚本之前,python代码将确定随机数和null之间的关系。
场景一:pig-param param1=“”-f my\u pig\u script.pig
场景二(猜猜看):pig-function param1=random()-f my\u pig\u script.pig
两个人如何在场景二下写出正确的Pig脚本?
谢谢

jyztefdp

jyztefdp1#

有一点是肯定的—您不需要(实际上不应该)将random()作为param传递,因为它只传递1个随机数作为param,这是您不需要的。问题是如何传达你的Pig脚本使用空或随机。继续,将null或非null值传递给param1,当您希望pig脚本使用random而不是null时,传递非null值。
在pig脚本中,可以使用三元运算符,如下所示:

A = FOREACH B GENERATE param1 IS NULL ? NULL : RANDOM();

希望这有帮助!

相关问题