基于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,实验到这里就结束了,最后祝大家平安夜快乐!
在这里插入图片描述

每文一语

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

猜你喜欢

转载自blog.csdn.net/weixin_47723732/article/details/111657756