Apache Pig AVG 函数
Apache Pig AVG Function
我正在尝试做一个简单的 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;
你应该按 movieid 分组
b = FILTER a BY (movieid == 178);
c = GROUP b BY movied;
d = FOREACH c GENERATE group AS movieid,AVG(a.rating) as rate;
我正在尝试做一个简单的 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;
你应该按 movieid 分组
b = FILTER a BY (movieid == 178);
c = GROUP b BY movied;
d = FOREACH c GENERATE group AS movieid,AVG(a.rating) as rate;