我正在尝试做一个简单的Pig查询,我需要找到ID为178的电影的平均评分。我已经尝试了下面的多个版本,过滤器正在运行但不是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;
答案 0 :(得分: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;