如何将 CONCAT() 函数的结果传递给我的 Pig 中的 UDF?

How to pass the result of CONCAT() function to my UDF in Pig?

我想将 CONCAT() 的结果传递给我在 Pig 中的用户定义函数。目前,我有一个包含以下行的脚本,但是当我 运行 它时,该脚本给我一个错误。

B = FOREACH A GENERATE myjar.MyUDF(CONCAT(r1,r2));

这在 Pig 中可能吗?

如果没有,有没有办法将两个参数传递给 Pig UDF?

在 Pig 中,您可以将多个参数传递给 UDF。

你可以这样过。

A = LOAD 'file.txt' USING PigStorage(',') AS (id:int,f_name:chararray,l_name:chararray);

B = FOREACH A Generate id,name,MYUDF(CONCAT(f_name,l_name),lname,f_name,'hi');

还请记住,您可以将一个 UDF 的输出传递给另一个 UDF

C = FOREACH B Generate UDF1(UDF2('hi'));