3 按月统计观影人数和各星评价数 - ml-100k

作者: 路人乙yh | 来源:发表于2019-05-08 23:24 被阅读2次

3.1 数据集 ml-100k

3.2 分析过程

  1. 建表,日期为 ‘2019-04-01 23:33:08’ 格式。create table u_data_ymdhms (userid INT, movieid INT, rating INT, strtime date);

  2. 转化时间到新表。insert overwrite table u_data_ymdhms select userid, movieid, rating, from_unixtime(int(unixtime), 'yyyy-MM-dd HH:mm:ss') from u_data

  3. 按月份统计每个月观影人数。select month(strtime),count(1) from u_data_ymdhms group by month(strtime);

    month count
    1 14237
    2 10946
    3 13034
    4 8839
    9 6863
    10 10313
    11 24137
    12 11631
  4. 统计每个月1--5星评价的数目。列传行,将数据转化为 month, star1, star2,.., star5.
    注意:保存到本地文件夹中,一定要新建一个空文件夹!!!!否则会覆盖所有文件!!!!

    create table u_monthstar (month int, star1 int, star2 int, star3 int, star4 int, star5 int);
    
    insert into table u_monthstar
    select month(strtime),
    sum(case rating when 1 then 1 else 0 end),
    sum(case rating when 2 then 1 else 0 end),
    sum(case rating when 3 then 1 else 0 end),
    sum(case rating when 4 then 1 else 0 end),
    sum(case rating when 5 then 1 else 0 end)
    from u_data_ymdhms
    group by month(strtime);
    
    # 保存到本地文件
    insert overwrite local directory '/home/badou/data/terminated_fields' row format delimited fields terminated by '\t'
    select * from u_monthstar;
    
    
  5. python中用dataframe读取,画图,观察每个月份1 -- 5星评价比例分布。


    movie_groupby_monthstar.png

相关文章

网友评论

    本文标题:3 按月统计观影人数和各星评价数 - ml-100k

    本文链接:https://www.haomeiwen.com/subject/bqwboqtx.html