2017-05-29 6 views
0

私はこのような記録を持っています。PIGの重複を除外する

12:-64:12033:24:0:0:1495532058:1384:0:0:0:102 
23:-64:8820:24:0:0:1495532126:2788:0:0:0:102 
23:-64:8826:24:0:0:1495532132:3064:0:0:0:102 
23:-64:8826:24:0:0:1495532132:3065:0:0:0:102 

ブタの重複または同一の行をフィルタリングする必要があります。

注:重複する行を削除または削除したくないです。私は、重複する行をフィルタリングし、一つの変数に格納する必要があります。

out1 = GROUP out BY ($1,$7,$11); 
records3 = FOREACH out1 { 
top_record1 = LIMIT out 1; 
final_rec = DISTINCT top_record1; 
GENERATE FLATTEN(final_rec); 
}; 

答えて

0

これはそれを行う必要があります。

a = load 'file' using PigStorage(':'); 
b = group a by ($1, $7, $11); 
c = foreach b generate flatten(group), COUNT(a) as (cnt: int); 
d = filter c by cnt>1; 
e = foreach d generate flatten(a) ; 
+0

<行13、列31>無効なスカラー投影:重複を試験するためにスカラー – yico

+0

@yicoとして使用するための列が関係から投影される必要がある、私はあなたに重複行を取りましたデータを修正して少し修正しました。あなたのデータに重複がなく、したがって関係dが空であるため、このエラーが発生しています。 – philantrovert

関連する問題