这里是我对Apache的问题,我在Python脚本中运行Pig脚本。Pig中有一个名为优先级的字段,其值要么是随机数,要么是null。每个输入记录都应该有不同的随机数。Python代码将在调用Pig脚本之前确定随机数和空值。
场景一:猪-param param1=“-f my_pig_script.pig”
场景二(只是猜测):pig -function param1=random() -f my_pig_script.pig
在场景二下,两个如何编写正确的Pig脚本?
谢谢
发布于 2014-08-08 19:18:38
有一件事是可以肯定的--你不需要(实际上不应该)把随机数()作为param传递,因为它只会将1个随机数作为param传递,这是您不想要的。问题是如何传递您的猪脚本使用空或随机。继续并将空值或非空值传递给param1,当您希望pig脚本使用随机而不是null时,传递非null。
在PIG脚本中,可以使用三元操作符,如下所示:
A = FOREACH B GENERATE param1 IS NULL ? NULL : RANDOM();希望这能有所帮助!
https://stackoverflow.com/questions/25210684
复制相似问题