0
考虑这个脚本:如何传递给UDF全关系?
register udf-1.0.0-BETA.jar
A = LOAD '1.txt' USING PigStorage('\t') as (key1:chararray, val1:chararray);
B = LOAD '2.txt' USING PigStorage('\t') as (key2:chararray, val2:chararray);
joined = JOIN A by key1, B by key2;
out = FOREACH joined GENERATE com.example.UDF();
dump out;
像这样我的UDF只得到钥匙。如果我试试这个:
out = FOREACH joined GENERATE com.example.UDF(joined);
我得到一个例外A柱需要从关系来预计它被用作标
我可以通过这样的
out = FOREACH joined GENERATE com.example.UDF(A::key1, A::val1, B::key2, B::val2);
整个关系
但它是冗长的。有一个更简单的方法吗?
我知道这是可能的!非常感谢。 – Moses
另外,也许你知道为什么在第一个例子中,我只得到键而不是值? – Moses
因为你没有传递任何东西给UDF – Frederic