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