2017-06-02 289 views
0

我想要做一个简单的猪查询,我需要找到电影的平均评级为ID 178我已经尝试了一些版本的下面和过滤器工作,但没有AVG功能。任何人都可以建议吗?由于阿帕奇猪AVG功能

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

首先过滤,然后组,然后平均。 – philantrovert

回答

0

你应该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

谢谢你的帮助! –