基于 Hadoop 豆瓣电影数据分析(代码 + 原理)
![基于Hadoop豆瓣电影数据分析(代码+原理)](https://static001.geekbang.org/infoq/b1/b1ca9100e9f2dafecd12d930e352210e.gif)
Hadoop 作为处理大数据重要的分布式架构,熟练掌握每一个组件和知识点是非常重要的。随着现代社会产生的大量信息,大数据已不仅仅是调查领域:它是改变业务实践和营销策略的强大力量。据 BCG 称, 大数据可以帮助分散的零售商将销售额提高 3%至 4%。
Hadoop 由 Apache 软件基金会(Apache Software Foundation)于 2006 年推出,是一组开源软件,可跨计算机群集进行数据处理和存储。Hadoop 主要是作为一种分析工具而开发的,事实证明,它对于大数据分析特别有效。它可以处理结构化和非结构化数据,具有海量存储功能,并允许处理几乎无限的并行任务。
Hadoop 由四个主要模块组成:
分布式文件系统一也称为 HDFS,它可以跨链接的存储设备网络存储数据;MapReduce 一从数据库读取,转换和分析数据;Hadoop Common 一组工具和库,可补充其他模块并确保与用户计算机系统的兼容性;YARN 一集群系统经理。
集群存储系统可以同时在许多设备上运行,因此可以加快数据处理速度。这使得 Hadoop 对于必须处理大型数据集的任何项目都至关重要。而且,该框架具有很大的灵活性,可以扩 展到任何公司的需求。
Hadoop 的用途:
客户分析一可以根据来自用户数据的洞察提供个性化的服务,报价和广告;企业项目一有效管理和处理存储在各种服务器上的数据;数据湖一 Hadoop 支持从不同的信息流创建原始数据的扩展存储,以后可以对其进行结构化和分析。
下面展示一个 Hadoop 综合实验作为复习 Hadoop 的重要资源
![](https://static001.geekbang.org/infoq/e6/e654565f88aa7c44447f9df170670e95.png)
实验简介
豆瓣用户每天都在对“看过”的电影进行“很差”到“力荐”的评价,豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 Top 250。为了分析电影产业的发展趋势,你需要对这些信息做统计分析。豆瓣网站的数据形式为文本文件(必须将导入到 hive 中做处理)。文件的内容如下:
![](https://static001.geekbang.org/infoq/ec/ec06765606f9d6a73a47e0f0821ff812.png)
待分析指标如下:1、 什么类型的电影平均评分最高。要求输出:类型 平均分 2、 哪个国家是烂片之王(平均评分小于 6 分的国家)。要求输出:国家 平均分各项统计指标需要导出到 hbase,以方便查询,分别导出到 2 个表(一个指标一个表),且在 hbase shell 中显示你写入的结果数据。
另外,本次操作需要留下日志,在 hdfs 的 /log 下 上传自己的操作记录。操作记录的格式为:
编号 姓名 操作时间
01 2020-12-21 10:52:12
操作代码
文档报告下载
可视化源码下载
准备环境
启动 hdfs
启动 hive
![](https://static001.geekbang.org/infoq/4b/4b878464e412206b49f7ace256bab8b2.png)
在创建数据库和数据表
![](https://static001.geekbang.org/infoq/3a/3a1069ec2a3aafb4c749417106a400a3.png)
![](https://static001.geekbang.org/infoq/68/681c22bae589a0f4d73d7a722897ed5e.png)
启动 habase
![](https://static001.geekbang.org/infoq/64/64ad9f44b88b55e0209bda1fdb242b2c.png)
数据导入及加载并查看
![](https://static001.geekbang.org/infoq/48/488113d53e011706342800d4aeeef260.png)
数据分析
什么类型的电影平均评分最高。要求输出:类型 平均分
![](https://static001.geekbang.org/infoq/28/28f1c5aa618a9efcaeacd804c7fb24b0.png)
![](https://static001.geekbang.org/infoq/51/51f8a165477edc3b6c291775f0a7fa01.png)
导出数据到 hbase(手动插入即可)
hive 和 hbase 之间的互导比较的麻烦,在后续的文章我们会具体介绍的
创建数据表 1
![](https://static001.geekbang.org/infoq/54/545ac4bd28b1e7405ef6a46fe05111ea.png)
![](https://static001.geekbang.org/infoq/8e/8ed2fdf90430ae9a3ef979d2290e7532.png)
我们发现 hbase 中文无法显示,那么下一个我们采用英文
![](https://static001.geekbang.org/infoq/48/4850f0df99f87b5e1d6686b83d05814c.png)
上传日志记录到 hdfs 下面的/log
首先创建一个文件夹在 hdfs 里面
![](https://static001.geekbang.org/infoq/40/4000b80e962a5d713e65acf9e0decda7.png)
上传日志记录
![](https://static001.geekbang.org/infoq/cd/cd4d3fbdcc4278a1080159085e0c0e4e.png)
可视化
![](https://static001.geekbang.org/infoq/c5/c571f382f0d4619a6b253dfb468afb57.png)
![](https://static001.geekbang.org/infoq/1c/1c971a342cd8576630d2a5016fbdfd0c.png)
![](https://static001.geekbang.org/infoq/72/72213bb822207941765bcd2a550e3e72.png)
![](https://static001.geekbang.org/infoq/5a/5ab4187a54eb720fe784a6cef1ce46de.png)
![](https://static001.geekbang.org/infoq/f6/f6eeb7ce3d58c699f9a106061337bd82.png)
OK,实验到这里就结束了,最后祝大家平安夜快乐!
![](https://static001.geekbang.org/infoq/c8/c861f52b4851b75d086dc97d2eb30486.png)
每文一语
开始和结束是一起发生化学反应的,愿你每一天都有温暖的自己,加油
版权声明: 本文为 InfoQ 作者【王小王-123】的原创文章。
原文链接:【http://xie.infoq.cn/article/c092f0e6f7f12809ba89458a2】。文章转载请联系作者。
评论