我已经使用查询在 hive 中创建了一个表
CREATE TABLE u_data (
userid INT,
movieid INT,
rating INT,
unixtime STRING)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
然后向其中加载一些数据,现在我要检索具有30个以上评分的电影的平均评分。
我尝试使用查询创建 View :
create view ratingcount as select movieid, count(rating) as num_of_ratings from u_data group by movieid;
然后用join查询:
Select movieid, avg(rating) from u_data join ratingcount on u_data.movieid = ratingcount .movieid where num_of_ratings >30;
这是异常(exception)。请让我知道如何检索所需的数据?
最佳答案
试试这个,
Select movieid, avg(rating) from u_data group by movieid having count(rating) > 30;
关于hadoop - hive 查询-无法找到评级超过30的电影,平均评级是多少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32346254/