Apache pig 除非我做了条件测试,否则为什么要得到I 0值

Apache pig 除非我做了条件测试,否则为什么要得到I 0值,apache-pig,Apache Pig,我想过滤一个实体,其中MT_V和MT_E应该与zeo不同 注意,这些变量被声明为bigdecimal 因此,命令是: S0 = FILTER E1ECP BY ((NO_PCI != '0') AND (MT_V != 0) AND (MT_E != 0)); 其中NO_PCI是另一个变量 但我的数据中有一行,其中MT_V==0.00,MT_E==0.00 PR,20190711-135040,2018,12,34,001,01,DC03520118,93873104,EUR,L,5A00,3

我想过滤一个实体,其中MT_V和MT_E应该与zeo不同

注意,这些变量被声明为bigdecimal

因此,命令是:

S0 = FILTER E1ECP BY ((NO_PCI != '0') AND (MT_V != 0) AND (MT_E != 0));
其中NO_PCI是另一个变量

但我的数据中有一行,其中MT_V==0.00,MT_E==0.00

PR,20190711-135040,2018,12,34,001,01,DC03520118,93873104,EUR,L,5A00,3A001,013400,806457,,,0.00,0.00,,2037,CAI,1600,,C1, 
您如何解释这一点呢?

使用(int)在MT_V、MT_E上进行转换,并将其与0进行比较

S0 = FILTER E1ECP BY ((NO_PCI != '0') AND ((int)(MT_V) != 0) AND ((int)(MT_E) != 0));

谢谢您的回答,但请看我得到的问题
无法推断org.apache.pig.builtin.ROUND的匹配函数是多个还是没有一个匹配。请使用显式强制转换。
在这种情况下,我应该怎么做?尝试强制转换为int,而不是像下面这样按((NO_PCI!=“0”)和((int)MT_V!=0)和((int)MT_E!=0)对E1ECP进行圆整;