繁体   English   中英

将功能参数传递给Pig

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM