在PIG中为重复项添加列

时间:2014-01-25 10:00:58

标签: hadoop bigdata apache-pig cloudera

我有一些像这样的值,

tEn 1
teN 8
Ten 1
thrEE 2
tHRee 1

如何为第1列中的所有不区分大小写的重复项添加第2列并生成此内容?

ten 10
three 3

我尝试过使用GROUP

tmp = GROUP data BY (column1);
result = FOREACH tmp GENERATE
    group,
    SUM(data.column2) as count

但不知何故,它似​​乎没有给出正确的结果。我该怎么办?

1 个答案:

答案 0 :(得分:3)

字符串区分大小写。你需要先将它们全部小写,以便它们匹配

lowerdata = FOREACH data GENERATE LOWER(column1), column2;

然后做你以前做过的事。

tmp = GROUP lowerdata BY (column1);
result = FOREACH tmp GENERATE
    group,
    SUM(data.column2) as count