美文网首页
尚硅谷大数据技术之Hive

尚硅谷大数据技术之Hive

作者: 尚硅谷教育 | 来源:发表于2018-12-03 17:10 被阅读6次

    10.4.7 统计上传视频最多的用户Top10以及他们上传的观看次数在前20的视频
    思路:

    1. 先找到上传视频最多的10个用户的用户信息
      select

    from
    gulivideo_user_orc
    order by
    videos
    desc limit
    10;

    1. 通过uploader字段与gulivideo_orc表进行join,得到的信息按照views观看次数进行排序即可。
      最终代码:
      select
      t2.videoId,
      t2.views,
      t2.ratings,
      t1.videos,
      t1.friends
      from (
      select
      *
      from
      gulivideo_user_orc
      order by
      videos desc
      limit
      10) t1
      join
      gulivideo_orc t2
      on
      t1.uploader = t2.uploader
      order by
      views desc
      limit
      20;
      10.4.8 统计每个类别视频观看数Top10
      思路:
    2. 先得到categoryId展开的表数据
    3. 子查询按照categoryId进行分区,然后分区内排序,并生成递增数字,该递增数字这一列起名为rank列
    4. 通过子查询产生的临时表,查询rank值小于等于10的数据行即可。
      最终代码:
      select
      t1.*
      from (
      select
      videoId,
      categoryId,
      views,
      row_number() over(partition by categoryId order by views desc) rank from gulivideo_category) t1
      where
      rank <= 10;

    本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。

    相关文章

      网友评论

          本文标题:尚硅谷大数据技术之Hive

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