Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

1,661 阅读1分钟
原文链接: www.toutiao.com

代码仓库地址:https://gitee.com/jikeh/BigData

开发环境:maven、IntelliJ IDEA、shell

环境搭建:Hadoop单节点集群环境搭建

入目项目:Hadoop实战:MapReduce之WordCount实例

进阶项目:Hadoop实战:数据预处理之数据排序实例Hadoop实战:数据预处理之数据去重实例(IP去重、url去重)

数据集介绍:

本案例使用 Youtube 数据集(http://netsg.cs.sfu.ca/youtubedata/),一小部分 Youtube 样例数据集已经上传到代码仓库。

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

数据集字段含义翻译一下:

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

需求分析:找出评分排名前10的视频

原始数据:

LKh7zAJ4nwoTheReceptionist653Entertainment424130214.341305744DjdA-5oKYFQNxTDlnOuyboc-8VuICzXtUDH56yrIO5nIW1Uo5DQTtzcE-3zXq_r4w01TCeoRPg5dEyAr26YhuYNY2ZgXx72XmoE-7ClGo-YgZ0vmdPOOd6cxIKRHfMQqSHpkpIMpORZthYw1tUDzOp10pkheqocRij5P0_XIuvoH6rUgLGVU5DsezE0uO2kj6_D8B4xiDqywcDQRMuX81lMev6_o

7D0Mf4Kn4Xkperiurban583Music20165084.19687312e2k0h6tPvGcyuO6yjlvXe8VqpnWBo-R4EbdDskrr8jRYy3IDp2n7B48JngPWhfCb2MKQaUvH5oiO4NSzrwv5MCwcNHB0a0xtLgUDlRodd4s86sEzKwOYLh-S0eUIfRyrqwp8AK8Wtfwe-1kEq4hGkIqBGwN1lkLaLJHlc-uIffs-DHkMzpTorUhCd8YAvSK0qPw7EUWX5KLMqY4bMVKFqqoeMdjw

结果集:

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

1、启动hadoop

cd /usr/local/Env/Hadoop/hadoop-2.6.5/sbin/

./start-all.sh

2、HDFS创建目录

hadoop fs -mkdir -p /jikeh/videorating/input

3、上传文本文件到HDFS

hadoop fs -copyFromLocal /usr/local/src/* /jikeh/videorating/input

4、运行deduplication程序

语法:hadoop jar ***.jar [输入文件] [输出目录]

hadoop jar video-rating-0.0.1-SNAPSHOT.jar com/jikeh/hadoop/videorating/VideoRating

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

5、查看运行结果

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频

6、借助shell脚本获取评分排名前10的视频

hadoop fs -cat /jikeh/videorating/output/part-r-00000 | sort -n -k 2 -r | head -n 10

Hadoop实战:分析 Youtube 数据之找出评分排名前10的视频