大数据之Hive之扩展项目Youtube案例<一>

本文通过一个YouTube大数据分析项目,介绍了Hive中的order by、sort by、distribute by、cluster by等概念,以及行转列、列转行、ORC存储和分桶等操作。项目涉及视频和用户表的数据结构、数据清洗与分析技术选型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

统计Youtube视频网站的常规指标,各种TopN指标:

--统计视频观看数Top10

--统计视频类别热度Top10

--统计视频观看数Top20所属类别包含这Top20视频的个数

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

--统计每个类别中的视频热度Top10

--统计每个类别中视频流量Top10

--统计上传视频最多的用户Top10以及他们上传的视频

--统计每个类别视频观看数Top10

二、知识储备梳理

2.1order bysort bydistribute bycluster by

背景表结构

在讲解中我们需要贯串一个 例子,所以需要设计一个情景,对应 还要有一个表结构和填充数据。如下:有3个字段,分别为personId标识某一个人,company标识一家公司名称,money标识该公司每年盈利收入(单位:万元人民币)

personId

company

money

p1

公司1

100

p2

公司2

200

p1

公司3

150

p3

公司4

300

建表导入数据:

create table company_info(

    personId string,

    company string,

    money float

)row format delimited fields terminated by "\t"

load data local inpath “company_info.txt” into table company_info;



create table company_info(

### 关于尚硅谷大数据Hive实战教程第11章的内容 在尚硅谷的大数据技术系列教程中,针对Hive的实战部分提供了详尽的学习材料[^3]。具体到第十章节,主要聚焦于通过实际操作来加深理解,使学员能够掌握如何利用Hive处理大规模结构化数据集。 #### 主要内容概览 - **复杂查询优化** - 学习者会了解到不同类型的查询语句及其执行计划,并学会运用多种策略提升查询效率。 - **UDF函数开发** - 讲解自定义用户定义函数(UDF),允许使用者编写自己的逻辑并将其嵌入至SQL查询之中,从而扩展Hive的功能边界。 - **分区与分桶管理** - 探讨高效的数据组织方式——即分区(partitioning)和分桶(bucketing),以及它们对于加速特定模式下读取速度的重要性。 - **性能调优技巧** - 提供系列实践建议帮助调整参数设置以达到最佳运行状态;包括但不限于内存分配、并发控制等方面的知识点。 ```sql -- 示例:创建外部表时指定文件格式为ORC,并采用LATERAL VIEW展开JSON数组字段 CREATE EXTERNAL TABLE IF NOT EXISTS my_table ( id STRING, data ARRAY<STRUCT<key:STRING,value:INT>> ) ROW FORMAT SERDE 'org.apache.hive.serde2.lazy.LazySimpleSerDe' STORED AS ORC LOCATION '/path/to/data'; SELECT t.id, tc.category_name FROM my_table LATERAL VIEW EXPLODE(data) t_data AS key, value; ``` 此章节不仅限理论讲解,更强调动手能力培养,鼓励读者跟随指导完成相应练习项目,在真实环境中验证所学概念的有效性和实用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值