栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

hiveSQL:统计视频观看数Top50所关联视频的所属类别Rank

hiveSQL:统计视频观看数Top50所关联视频的所属类别Rank

一.统计此题需要多表连接嵌套,需要使用到的内置处理函数有:

1.order by desc :字段按照降序排列(不加desc默认升序)

2.lateral view :(侧写表,关联)

用法:LATERAL VIEW udtf(expression) tableAlias AS columnAlia

3.explode:将 hive 一列中复杂的 Array 或者 Map 结构拆分成多行

4.group by:按字段分数查询

5.count():聚合函数,求总数量

二.相关的字段表与解释

三.步骤:

第一步:查询视频热度前50位的视频   分类和相关视频id

select 
    views,
    category about_category,
    relatedId about_id_array 
from 
    video 
order by 
    views 
desc limit 50; t1 

第二步:打散相关视频id,再把视频分类和每个id一一对应起来

select 
    t1.about_category cate,
    about_id
from ()t1
lateral view 
    explode(t1.about_id_array) tmp_table as about_id; t2

第三步:再将视频分类打散,与每个视频id对应起来

select
    id
from
    () t2
lateral view
    explode(t2.cate) tmp_t as id; t3

第四步:再通过分组计算出分类字段的数量,然后降序排列

select 
    count(t3.id) count_id,
    t3.id category_name
from 
    ()t3
group by 
    t3.id 
order by 
    count_id desc;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/779735.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号