Apache pig 在清管器的多个柱上不同
我有一份档案Apache pig 在清管器的多个柱上不同,apache-pig,Apache Pig,我有一份档案 (1,1,100) (1,1,200) (1,2,300) 现在我希望在两列上应用distinct,并希望输出为 是我干的 将所有其他列分组,仅将感兴趣的列投影到一个袋子中,然后使用“展平”再次将其展开: A_unique = FOREACH (GROUP A BY id3) { b = A.(id1,id2); s = DISTINCT b; GENERATE FLATTEN(s); }; DUMP
(1,1,100)
(1,1,200)
(1,2,300)
现在我希望在两列上应用distinct,并希望输出为
是我干的
将所有其他列分组,仅将感兴趣的列投影到一个袋子中,然后使用“展平”再次将其展开:
A_unique =
FOREACH (GROUP A BY id3) {
b = A.(id1,id2);
s = DISTINCT b;
GENERATE FLATTEN(s);
};
DUMP A_unique;
输出结果是
(1,1)
(1,1)
(1,2)
我原以为是这样的
(1,1)
(1,2)
给你,这会给你想要的输出-
a = load 'sample1.txt' using PigStorage(',') as (id1:int, id2:int, id3:int);
b = group a by (id1, id2);
c = foreach b {
first_e = limit a.id3 1;
generate flatten(group) as (id1, id2);
}
下面的代码生成所需的结果
a = load '$dir/data' using PigStorage(',') as (d1:int,d2:int,d3:int);
b= group a all;
c= foreach b {
d = a.(d1,d2);
e = DISTINCT d;
generate FLATTEN(e);
}
dump c ;
~