以下代码导致CDH3群集出现问题:
-- Case 1
A = FILTER XYZ BY (TRIM(var1) != 'U') AND (TRIM(var2) == 'N') AND (var3) == 'Y');
如果我正在执行以下代码,那么会得到不同的结果(请注意我已删除以下代码中的TRIM
):
-- Case 2
A = FILTER XYZ BY (var1 != 'U' AND var2 == 'N' AND var3 == 'Y');
如果我执行以下代码获得与Case 2
相同的结果(请注意我已从TRIM
运算符中删除了第一个NOT
):
-- Case 3
A = FILTER XYZ BY (var1 != 'U' AND (TRIM(var2) == 'N') AND (TRIM(var3) == 'Y');
如果我使用TRIM
或没有TRIM
的三个不同过滤器按顺序执行所有条件,则会得到与Case 2
和Case 3
相同的结果:
-- Case 4
A = FILTER XYZ BY (TRIM(var1) != 'U');
B = FILTER A BY (TRIM(var2) == 'N');
C = FILTER B BY (TRIM(var3) == 'Y');
STORE C;
-- Case 5
A = FILTER XYZ BY var1 != 'U';
B = FILTER A BY var2 == 'N';
C = FILTER B BY var3 == 'Y';
STORE C;
使用TRIM
运算符与NOT
运算符以及运行PIG 0.8
的CDH3上的LOGICAL运算符是否遇到任何问题?
我在CDH4中获得的结果与我使用默认PIG 0.11
运行的任何情况相同。