TRIM函数导致在CDH3上运行的输出中出现问题

时间:2014-04-02 10:13:37

标签: hadoop apache-pig

以下代码导致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 2Case 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运行的任何情况相同。

0 个答案:

没有答案