我收到了这个错误:
无法推断org.apache.pig.builtin.LOG的匹配函数 多个或没有一个适合。请使用明确的演员
从这段代码:
> describe A;
A: {p: long,k: chararray,count: double}
> foreach (group A by p) generate SUM(A.count * LOG(A.count));
我做错了什么?
答案 0 :(得分:1)
我认为LOG适用于双人,而不是一包双打。在你的上下文中,你给它一个包,就像在SUM(A.count)中一样,但SUM应该用一个包。 尝试在包聚合之前准备好数据,例如:
computed = foreach A generate p, (count * LOG(count)) as multiplied;
summed = foreach (group computed by p) generate SUM(multiplied);