我想做一个条件测试:
S0 = FILTER E1ECPRA BY ((NO_PCI != '0') AND (ROUND(MT_DVS) != 0) AND (ROUND(MT_EUR) != 0));
其中mt\u eur和mt\u dvs是大的十进制数据。
首先,它们被定义为:
E1ECPRA = FOREACH E1ECPRA_BRUT GENERATE
MT_DVS AS MT_DVS,
MT_CVE AS MT_EUR;
其中mt\u cve和mt\u dvs也是大十进制。
问题是:
无法将org.apache.pig.builtin.round的匹配函数推断为多个或没有匹配的函数。请使用显式转换。
我怎样才能解决这个问题?
1条答案
按热度按时间nue99wik1#
似乎round在float和double上工作。您可以使用round\u to()并将其与0.0进行比较。类似于round\u to(mt\u cve,0)=0.0