写点什么

基于 Hadoop 豆瓣电影数据分析(代码 + 原理)

作者:王小王-123
  • 2022 年 6 月 29 日
  • 本文字数:1739 字

    阅读完需:约 6 分钟

基于Hadoop豆瓣电影数据分析(代码+原理)

Hadoop 作为处理大数据重要的分布式架构,熟练掌握每一个组件和知识点是非常重要的。随着现代社会产生的大量信息,大数据已不仅仅是调查领域:它是改变业务实践和营销策略的强大力量。据 BCG 称, 大数据可以帮助分散的零售商将销售额提高 3%至 4%。


Hadoop 由 Apache 软件基金会(Apache Software Foundation)于 2006 年推出,是一组开源软件,可跨计算机群集进行数据处理和存储。Hadoop 主要是作为一种分析工具而开发的,事实证明,它对于大数据分析特别有效。它可以处理结构化和非结构化数据,具有海量存储功能,并允许处理几乎无限的并行任务。


Hadoop 由四个主要模块组成:


分布式文件系统一也称为 HDFS,它可以跨链接的存储设备网络存储数据;MapReduce 一从数据库读取,转换和分析数据;Hadoop Common 一组工具和库,可补充其他模块并确保与用户计算机系统的兼容性;YARN 一集群系统经理。


集群存储系统可以同时在许多设备上运行,因此可以加快数据处理速度。这使得 Hadoop 对于必须处理大型数据集的任何项目都至关重要。而且,该框架具有很大的灵活性,可以扩 展到任何公司的需求。


Hadoop 的用途:


客户分析一可以根据来自用户数据的洞察提供个性化的服务,报价和广告;企业项目一有效管理和处理存储在各种服务器上的数据;数据湖一 Hadoop 支持从不同的信息流创建原始数据的扩展存储,以后可以对其进行结构化和分析。


下面展示一个 Hadoop 综合实验作为复习 Hadoop 的重要资源



实验简介


豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 Top 250。为了分析电影产业的发展趋势,你需要对这些信息做统计分析。豆瓣网站的数据形式为文本文件(必须将导入到 hive 中做处理)。文件的内容如下:



待分析指标如下:1、 什么类型的电影平均评分最高。要求输出:类型 平均分 2、 哪个国家是烂片之王(平均评分小于 6 分的国家)。要求输出:国家 平均分各项统计指标需要导出到 hbase,以方便查询,分别导出到 2 个表(一个指标一个表),且在 hbase shell 中显示你写入的结果数据。


另外,本次操作需要留下日志,在 hdfs 的 /log 下 上传自己的操作记录。操作记录的格式为:


编号 姓名 操作时间


01 2020-12-21 10:52:12

操作代码

文档报告下载

可视化源码下载

准备环境


启动 hdfs


start-all.sh
复制代码


启动 hive


hive
复制代码



在创建数据库和数据表


create database douban;
复制代码


use douban;
复制代码


create table `douban`.`data`  (  `id` varchar(255) ,  `name` varchar(255) ,  `nop` varchar(255) ,  `typle` varchar(255),  `pop` varchar(255),  `rtime` varchar(255),  `longtime` varchar(255),  `ageyear` varchar(255),  `grade` varchar(255),  `plocation` varchar(255)) row format delimited fields terminated by ','stored as textfile;
复制代码


分别代表:id,名字,投票人数,类型,产地,上映时间,时长,年代,评分,首映地点
复制代码




启动 habase


start-hbase.sh
复制代码


hbase shell
复制代码



数据导入及加载并查看


LOAD DATA LOCAL INPATH '/home/hadoop/douban_movie.txt' INTO TABLE data;
复制代码


select * from data;
复制代码



数据分析


什么类型的电影平均评分最高。要求输出:类型 平均分


select typle,AVG(grade) as t from data GROUP BY typle ORDER BY t DESC LIMIT 1;
复制代码



哪个国家是烂片之王(平均评分小于6分的国家)。要求输出:国家  平均分
复制代码


select pop,AVG(grade) as t from data GROUP BY pop HAVING t<6;
复制代码



导出数据到 hbase(手动插入即可)


hive 和 hbase 之间的互导比较的麻烦,在后续的文章我们会具体介绍的


创建数据表 1


create 'result','info'
复制代码


put 'result','1','info:西部','9.1'
复制代码




我们发现 hbase 中文无法显示,那么下一个我们采用英文


create 'result_1','info'
复制代码


put 'result_1','1','info:moxige,bolan','5.8,5.7'
复制代码


scan 'result_1'
复制代码



上传日志记录到 hdfs 下面的/log


首先创建一个文件夹在 hdfs 里面


hdfs dfs -mkdir /log
复制代码


vi data
复制代码


编号    姓名    操作时间     01      王小王    2020-12-21 10:52:12    
复制代码



上传日志记录


hdfs dfs -copyFromLocal /home/hadoop/data /log/
复制代码


hdfs dfs -ls /hdfs dfs  -cat /log/data
复制代码


可视化






OK,实验到这里就结束了,最后祝大家平安夜快乐!



每文一语


开始和结束是一起发生化学反应的,愿你每一天都有温暖的自己,加油

发布于: 2022 年 06 月 29 日阅读数: 27
用户头像

王小王-123

关注

CSDN博客专家🏆华为云·云享专家🏆 2021.03.22 加入

学习的道路上与我一起记录美好的回忆,开启你的专属的代码人生,让青春的余味渗入到万物互联的信息流,永不褪去那最初的颜色......

评论

发布
暂无评论
基于Hadoop豆瓣电影数据分析(代码+原理)_大数据_王小王-123_InfoQ写作社区