Hive实战之谷粒影音
尚硅谷的实战项目
文章目录
需求描述
统计硅谷影音视频网站的各种TopN指标:
–统计视频观看数Top10
–统计视频类别热度Top10
–统计视频观看数Top20所属类别
–统计视频观看数Top50所关联视频的所属类别Rank
–统计每个类别中的视频热度Top10
–统计每个类别中视频流量Top10
–统计上传视频最多的用户Top10以及他们上传的视频
–统计每个类别视频观看数Top10
2.1 数据结构
1.视频表
gulivideo_ori
字段 | 备注 | 详细描述 | |
---|---|---|---|
1 | videoid | 视频唯一id | 11位字符串 |
2 | uploader | 视频上传者 | 上传视频的用户名String |
3 | age | 视频年龄 | 视频在平台上的整数天 |
4 | category | 视频类别 | 上传视频指定的视频分类 |
5 | length | 视频长度 | 整形数字标识的视频长度 |
6 | views | 观看次数 | 视频被浏览的次数 |
7 | rate | 视频评分 | 满分5分 |
8 | ratings | 流量 | 视频的流量,整型数字 |
9 | conments | 评论数 | 一个视频的整数评论数 |
10 | related ids | 相关视频id | 相关视频的id,最多20个 |
数据示例:
……
jAcWXcNy_18 Zipster08 733 People & Blogs 195 6860 4.71 297 976 DdCs0ZaHN04 LLgJ4SQxOjo 7_gFJJXLv28 C_qrxoCjXCc 82gUqUanDEo krop1LMlOrE Cn2Pr50R7oQ TQp8wbn6LR8 xBhu7PDI5-o 8vrvpeKOOoc rnNhIraaI1E Zqy302EO3dc oqN4b3405Vo ruQ9qPTpYPo g-bCmCrROoM Zch-SNhJjKo a1piomPTarA WkAUtjUf76c afWksR9INcE wyK0iGUrV0Q
jc6DBFX-4RQ supricky06 733 People & Blogs 130 13393 4.41 296 897 pfFDQksCOM8 B65TY3luic8 y4Y-hyvWDBw m_I2Z_grFB4 g0gUB4aAops 8LlIcHiAPI4 rjyk4NukY0g kmEJVkH37v4 DM6x93YCsq0 igyWO1flbqI DV83aycPJLI ra_1RGiVWY0 EBPl25Hhe4Y Tcl5RTB9NbM hm7YrzFmby0 fpjLndh0NIU PqSh0_40KAQ RtNI6Ymx4Pc 800TVPyA2-Y Qk0vCsg9-xI
mOeKEelEnSo biblegirl7 730 Comedy 254 7631 4.35 51 991 cMzr39uXyT8 gW0_vfZZgLQ A_JL1CWqcd0 q5YX9xeM_D0 t1HzwGe37tI VLo5QPHpS88 zjmavR_42UU pB1NLB2R27I Y9Qcf0BlWVo KXanM01RbT4 CeuJnaDpJyc JQDHh2-Eqmc YeQV-_gChkA u3Tu0XHhrMU rgDXJ3Lqo14 CPP1Ri43IzE cY4KUPKL6jQ ruRagfIAVU0
OKpyYdpiT88 renetto 734 News & Politics 454 34275 3.85 671 731 t7A1LNrLZp4 YrrzbnBS-nw MTEsjAvVDGs rKmXPUSrbOA sSklbjAn_1o qHKtnnJJAgA -bpdmAaf9wI pxPf4wFVuWU 6Vml8yfUyOo wwmr25dMKyA vOphTrPwFHE giX2-ywU9Rg scSVExeih1I q0KeOguRQ-g aXfgLXKnaJ4 gSbU6bOMT5U AHqANgW_A8U 1oWe1qQp4w8 At3FaCEbzrI UeCtg_QQ-dE
4G-D0F4Q9yk Zebro 716 News & Politics 275 882123 4.33 6538 5051 vKzSwX6jf_c nTlBBbKGsN4 Q2xIEXpA3UY 924zmIi55P8 JsLUkNT7xRY nmTWvpmz5Ok q4TPpeMh8q0 BDbZUtzttmc 88XlBGAWzuA mmSWEbIpSgs OwKC25aJJs8 VNvWReWdC4w b67TL0kLVbc e8yp7vfhsKY poAGH2rDtrU bsD3BzhLi1E 24Xi7Eele4w AphbiTQt-E0 LyYHy-_MQyo X3vt_KB1Dc0
……
2.用户表
字段 | 备注 | 字段类型 |
---|---|---|
uploader | 上传者用户名 | string |
videos | 上传视频数 | int |
friends | 朋友数量 | int |
步骤1:ETL
第四列数据 category 和第10列数据 related ids 作为array存入hive中
这里array需要统一用&作切割,第四列中的多余空格要删除,第10列中的\t要替换为&
这里我们使用MapReduce 进行ETL
构建maven的jar项目
pom.xml依赖
……
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.8.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.7.2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.7.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hive/hive-jdbc -->
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-exec</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
……
log4j配置文件
log4j.properties
log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/spring.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
不知什么原因没能生效