Hadoop综合大作业
爬虫综合大作业
本次作业的要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3339
引言
本次作业分为四部分,是在《爬虫大作业》与《Hadoop环境搭建》的基础上进行的,在《爬虫大作业》中,我主要在已经搭建好了Hadoop、MySQL、MapReduce、HBASE、hive的Linux虚拟机中对中国传媒大学南广学院的新闻信息进行的数据爬取,最终得到的数据存在一个名为cucn.csv中。本次作业的任务主要有以下四点:
1.对csv文件进行预处理生成,utf-8编码的文件
2.将爬虫大作业产生的csv文件上传到HDFS,再一次对csv文件进行处理,生成无标题文本文件
3.把hdfs中的文本文件最终导入到数据仓库Hive中
4. 用Hive对爬虫大作业产生的进行数据分析,写一篇博客描述你的分析过程和分析结果。(10条以上的查询分析)
过程
1、将爬虫大作业产生的csv文件上传到HDFS,再一次对csv文件进行处理,生成无标题文本文件,结果如下图所示:
2、其次,我们把cucn.csv文件放到下载这个文件夹中,并使用命令把date.csv文件拷贝到我们刚刚所创建的文件夹中,具体步骤如下:
把date.csv文件拷到刚刚所创建的文件夹中,如下图所示:
3、对CSV文件进行预处理生成无标题文本文件,并且对数据进行预处理字段并且转化为无标题文本文件,如下图所示:
4、接着,启动hadoop并jps,如下图所示:
5、将爬虫大作业产生的csv文件上传到HDFS,再一次对csv文件进行处理,生成无标题文本文件,如下图所示:
6、启动MySQL SERVICE,启动Hive,把hdfs中的文本文件最终导入到数据仓库Hive中,如下图所示:
7、创建数据库lihaochun,如下图所示:
8、 创建表date_065并把hdfs中/bigdatacase/dataset/目录下的数据加载到表中,如下图所示:
9,用select语句查看前10条数据,如下图所示:
分析
对于王者荣耀100多个英雄定位进行分析,对于功能型英雄,包括“控制”能力、“解控”能力、“续航”水平、“消耗”能力进行词条分析,语句与结果截图如下:
结果可见,消耗型英雄法师位居多,射手其次,续航能力也是法师居多,可见在一场战斗中法师占据着非常重要的位置。而廉颇、妲己、庄周、白起、狄仁杰、花木兰、白起、橘右京、鬼谷子则拥有强大的控制或解控制能力,适合多跟团。
针对于英雄的出装方案,搜索装备关键字,则输出该经常出此装备的英雄,如下图所示:
由此可见,对于刺客型法师,噬神之术是一件不可少的装备之一,而暴力中单往往会出秘法鞋替代CD鞋。红莲可以为坦克提供不少的防御和输出。
匹配“全输出”关键字和“秒杀”与“爆发”关键字,则可以输出高爆发英雄名单,如下图所示:
可见,赵云、李白、铠、阿珂、元歌、司马懿、典韦、达摩是常见的高爆发刺客,射手则为后裔、虞姬和孙尚香等排位常见英雄,而法师位和射手一般都会选择全输出装,妲己作为一个后期英雄,具有高爆发的伤害与控制技能,后期发挥起的作用往往能决定一场战斗的胜败。
适合游走型的英雄:姜子牙作为一个辅助兼法师,具有不凡的伤害和减速技能,适合参团。兰陵王和守约前期较为强势,适合清完野配合妲己辅助上中路抓人阻止法师射手发育。
接下来,分析官方给出的英雄克制与被克制关系的排序,sql语句与查询结果如下图所示:
官方给出的数据是,花木兰作为一个上单或打野被克制的频数是最多的,其次是貂蝉、兰陵王和张良。貂蝉作为一个比较秀的法师,如果遇到对面很多的控制变束手无策,而张良张团战中大招则很容易被打断。兰陵王如果遇到妲己、小乔或者王昭君等法师配合金身和控制技能很容易被反杀。
阿珂最为克制其他英雄的频数最多的英雄,在排位上经常被禁。阿轲是强势英雄,一直出场率都非常的高,而且伤害,生存能力也都明显有所增加,有其它的被动,百分百的暴击,遇见脆皮简直可以直接秒,而且敌军遇见荆轲基本上都要对个刚,跑是不可能了,越跑荆轲伤害越高,甚至可以直接秒杀!王昭君和兰陵王也是因为有高控制和高输出的英雄,基本每一场战斗都随处可见。
总结
通过学习本学期的大数据课程,学习并掌握了以下几项技能:
1、python 3编程基础;
2、爬虫技术与反爬虫技术的正确理解;
2、对于网上爬下来的数据进行数据清洗和词频分析;
3、用Linux虚拟机搭建大数据Hadoop平台并安装生态环境MySQL、MapReduce、HBASE、hive;
4、HDFS文件分布式系统的使用以及使用Hive和mysql对数据进行分析统计;
5、python 爬虫技术的技术原理与正确用途,源于数据,用于生活。
感谢指导老师的默默付出与指导!让我们懂得了如何利用数据分析出于兴趣相关、与生活相关的信息,不管是游戏也好,电影音乐也好,在如今都离不开大数据时代,懂得利用大数据得出想要的结论可能会少走很多弯路。
原文地址:https://www.cnblogs.com/rglhc/p/11038798.html
- 1131: [POI2008]Sta
- 3172: [Tjoi2013]单词
- WebApiThrottle限流框架使用手册
- webpack学习(六)打包压缩js和css
- 1051: [HAOI2006]受欢迎的牛
- 1572: [Usaco2009 Open]工作安排Job
- 深海中的STL—mt19937
- 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御
- POJ1201 Intervals(差分约束)
- 【NLP】十分钟快览自然语言处理学习总结
- MVC5 网站开发之九 网站设置
- Redis安全小结
- webpack学习(七)打包压缩图片
- POJ1275 Cashier Employment(差分约束)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python遍历字典
- R语言随机森林模型中具有相关特征的变量重要性
- WPF 使用 Direct Manipulation 的方法
- R语言分析负利率下金融市场:负利率和年金价值的变化
- python字典-增、删、改
- C# dotnet 使用判断文件夹存在的方法判断一个文件路径会怎样
- 怎样给wordpress网站模板,添加最新文章、随机文章、热评文章?
- [医疗信息化][DICOM教程]1.使用Java的DICOM基础-理解DICOM文件-DICOM Basics using Java - Making Sense of the DICOM File
- python自动播放网课
- Istio实战——流量管理
- WordPress移除head头部js、css、feed等多余加载项
- python控制鼠标键盘,解放你的双手~
- 用腾讯云批量计算(batch-compute)调度GPU分布式机器学习
- R语言模拟保险模型中分类器的ROC曲线不良表现
- Linux xargs grep zgrep命令