[英]Pass function parameter to Pig
这是我对Apache Pig的问题,我在Python脚本中运行Pig脚本。 Pig中有一个称为优先级的字段,其值可以是随机数,也可以是null。 输入的每个记录应具有不同的随机数。 Python代码将在调用Pig脚本之前确定随机数和null之间。
方案一:猪-param param1 =“” -f my_pig_script.pig
场景二(只是猜测):pig -function param1 = random()-f my_pig_script.pig
如何在第二种情况下正确编写Pig脚本?
谢谢
可以肯定的是,您不需要(实际上不应该)将random()作为参数传递,因为它将仅传递1个不需要的随机数作为参数。 问题是如何传达您的PIG脚本以使用null或random。 继续并将null或非null值传递给param1,当您希望Pig脚本使用random而不是null时传递non-null。
在PIG脚本中,您可以使用三元运算符,如下所示:
A = FOREACH B GENERATE param1 IS NULL ? NULL : RANDOM();
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.