Hadoop|基于Hadoop豆瓣数据分析
Hadoop|基于Hadoop豆瓣数据分析
叶一片Hadoop作为处理大数据重要的分布式架构,熟练掌握每一个组件和知识点是非常重要的。随着现代社会产生的大量信息,大数据已不仅仅是调查领域:它是改变业务实践和营销策略的强大力量。据BCG称, 大数据可以帮助分散的零售商将销售额提高3%至4%。
简介
adoop由Apache软件基金会(Apache Software Foundation)于2006年推出,是一组开源软件,可跨计算机群集进行数据处理和存储。Hadoop主要是作为一种分析工具而开发的,事实证明,它对于大数据分析特别有效。它可以处理结构化和非结构化数据,具有海量存储功能,并允许处理几乎无限的并行任务。
Hadoop由四个主要模块组成
分布式文件系统一也称为HDFS,它可以跨链接的存储设备网络存储数据;MapReduce 一从数据库读取,转换和分析数据;Hadoop Common 一组工具和库,可补充其他模块并确保与用户计算机系统的兼容性;YARN 一集群系统经理。
集群存储系统可以同时在许多设备上运行,因此可以加快数据处理速度。这使得Hadoop对于必须处理大型数据集的任何项目都至关重要。而且,该框架具有很大的灵活性,可以扩 展到任何公司的需求。
Hadoop的用途
客户分析—可以根据来自用户数据的洞察提供个性化的服务,报价和广告;企业项目—有效管理和处理存储在各种服务器上的数据;数据湖一 Hadoop支持从不同的信息流创建原始数据的扩展存储,以后可以对其进行结构化和分析。
引入
豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 Top 250。
为了分析电影产业的发展趋势,需要对这些信息做统计分析。
豆瓣网站的数据形式为文本文件(将数据导入到hive中做处理)。
1 | #文件数据下载:https://wwyl.lanzoum.com/is9Bp0zdl84h |
文件的内容如下
待分析指标如下
1、什么类型的电影平均评分最高。
要求输出:类型 平均分
2、哪个国家是烂片之王(平均评分小于6分的国家)。
要求输出:国家 平均分
各项统计指标需要添加到hbase,以方便查询,分别添加到2个表(一个指标一个表),且在hbase shell中显示你写入的结果数据。
另外,本次操作需要留下日志,在hdfs 的 /log 下 上传自己的操作记录。
操作过程:
启动hive
1 | start-all.sh |
创建数据库 使用数据库
1 | create database douban; |
创建文件夹并导入数据
创建文件夹
1 | hadoop fs -mkdir /hadoop_class/douban |
导入数据
1 | hadoop fs -copyFromLocal ~/douban_movie.txt /hadoop_class/douban |
建表
1 | create table yjc_2021900342 ( |
第一题
什么类型的电影平均评分最高。要求输出:类型 平均分
代码:
1 | select typle,AVG(grade) as t |
结果:
第二题
什么类型哪个国家是烂片之王(平均评分小于6分的国家)。要求输出:国家 平均分
代码:
1 | select pop,AVG(grade) as t |
结果:
将各项统计指标需要添加到hbase,以方便查询,
启动hbase
1 | start-hbase.sh |
建表
1 | create 'yejunchen_result','info' |
将题目一结果插入表中
1 | #put 'yejunchen_result','1','info:西部','9.1' |
(因为中文显示有问题,我将拼音插入)
1 | scan 'yejunchen_result_1' |
同理,将题目二结果插入表中
1 | create 'yejunchen_result_1','info' |
将本次操作留下日志,在hdfs 的 /log 下 上传自己的操作记录。
创建文件夹
1 | hadoop fs -mkdir /log |
在本地创建log.txt文件
1 | touch log.txt |
将数据写入
1 | vi log.txt |
编辑好后通过强制保存并退出
1 | :wq! |
上传日志
1 | hadoop fs -copyFromLocal ~/log.txt /log |