2017-06-02 12 views
0

J'essaie de faire une simple requête Pig où j'ai besoin de trouver la note moyenne pour le film avec l'ID 178. J'ai essayé un certain nombre de versions de la ci-dessous et le filtre fonctionne mais pas la fonction AVG. Quelqu'un peut-il conseiller? MerciApache Pig AVG Fonction

a = load '/user/pig/u.data' AS (userid:int, movieid:int, rating:double, timestamp:chararray); 
b = FOREACH a GENERATE AVG(rating) as rate, movieid; 
c = group b by rate; 
d= filter a by movieid==178; 
dump d; 
+2

filtre d'abord, puis le groupe, puis en moyenne. – philantrovert

Répondre

0

Vous devez regrouper par MovieID

b = FILTER a BY (movieid == 178); 
c = GROUP b BY movied; 
d = FOREACH c GENERATE group AS movieid,AVG(a.rating) as rate; 
+0

Nous vous remercions de votre aide! –