一:将爬虫大作业产生的csv文件上传到HDFS

查看文件中前10条信息,即可证明是否上传成功。

二.对CSV文件进行预处理生成无标题文本文件

创建一个deal.sh,主要实现数据分割成什么样的意思

执行deal.sh 对数据进行分割预处理并输出形成movie.txt

三.把hdfs中的文本文件最终导入到数据仓库Hive中

同样的,查看数据前10显示出来,和前面的csv对面显得很整齐,这就是处理数据后的样子。

四.在Hive中查看并分析数据

首先启动hive之后进行创建数据库再创表,语句如图下:

然后再查看一下数据,显示的数据格式正确即正确。

五.用Hive对爬虫大作业产生的进行数据分析

1.用户满意度分析:

在数据中分别获取评分为5,4,3,2,1的数量,然后进行分析,获取的数据如图所示:

评分为5的数量

评分为4的数量

评分为3的数量

评分为2的数量

评分为1的数量

根据统计数据,做出了饼图,如图所示:

由图可以看出四星以上占据了大部分,于是我在计算一下影片的平均数,如图所示

平均数为4.4左右,更加能够证明用户对该影片的满意度较高!

2.用户所在城市分析

统计出粉丝所在城市数量最多的20个城市

评分星级大于4的粉丝集中所在的排名前20的城市。

从数据我们可以看出,观众所在最多的20个城市都是属于比较经济发达的城市,基本都是一线,二线城市,他们在影视方面为贡献了一些GDP,同时从一些方面上可以体会为当地居民的生活恩格尔系数是不低的。

3.观众对影片的关注度

一部热门的影片在还没开始上映时就可以受到观众的关注,关注度的大小在一定程度上看出了观众对观看该影片的渴望度。

遇上统计了一下还没开始上映就有评论的数量,该影片的上映日期是2019-4-4,故我们可以看出在该日期之前的评论是756条,说明该片的关注度还是OK的。

剩下的数量就是看完之后才会有的评论,69103条,说明该影片给观众多少留下一些印象。

4.观众观看时间分析

统计一下观众在某个时间片刻评论的数量多,证明着用户在评论时间的差不多时间就观看了电影,统计如下图所示:

因此我们可以推断出观众在观看该影片大多时间都是在傍晚场至晚上场。

于是接着统计一下上映7天每天的数量,由于数据中的日期数据类型比较特殊,如果直接统计需要进行数据类型转化有点麻烦,故我各自统计了每天的数量

由图下的语句进行统计4月4日的数量,类推得到7天每天的数量。

一直到4月11号,同样的语句就不放太多图了。。。

于是整理了一下,4月4日-4月11日的数量分别是350,699,949,714,485,342,275,236

从数据中可以看出6日的观众评论数是最多的,再弄一个折线波动图就更直观了。

从图中我们很直观地看出了在影片在开播7日之内,6日的观看数(评论数)是最多的!

5.出现的问题解决:

1.在做这个过程中,数据在导入到hive时有分数列和时间列的数据出现NULL,如图所示:

通过查找资料,解决方案为:重新建立表,然后把日期列和分数列的数据类型写成STRING就可以了,然后就会发现数据格式是正确的!

2.当我统计7天内的总数据量使用语句select * from analysee(表) where startime between ''2019/4/4 11:11‘ and '2019/4/10 11:11'时一直显示为0.

解决方案:由于我这里的数据格式为:2019/4/4 11:11,数据不是为date,故直接使用

故有两种解决方案,一:把日期列的数据进行格式化为’2019-1-2’,这样的话容易比较,就是有点复杂而已

二:简单思路多重复是记录每一天是数据量(我使用的是此方案,若数据天数太多则不建议)

三:在导入之前先用excel设计好自己想要的格式再重新上传到hdfs和hive中,结果会很方便

基于hive的《反贪风暴4》的影评的更多相关文章

  1. 基于 Hive 的文件格式:RCFile 简介及其应用

    转载自:https://my.oschina.net/leejun2005/blog/280896 Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度 ...

  2. 胖子哥的大数据之路(10)- 基于Hive构建数据仓库实例

    一.引言 基于Hive+Hadoop模式构建数据仓库,是大数据时代的一个不错的选择,本文以郑商所每日交易行情数据为案例,探讨数据Hive数据导入的操作实例. 二.源数据-每日行情数据 三.建表脚本 C ...

  3. 基于hive的日志分析系统

    转自 http://www.cppblog.com/koson/archive/2010/07/19/120773.html           hive 简介         hive 是一个基于  ...

  4. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

    这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

  5. 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

    不多说,直接上干货! Impala和Hive的关系(详解) 扩展博客 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 参考 horton ...

  6. 转载:基于 Hive 的文件格式:RCFile 简介及其应用---推酷

    Hadoop 作为MR 的开源实现,一直以动态运行解析文件格式并获得比MPP数据库快上几倍的装载速度为优势.不过,MPP数据库社区也一直批评Hadoop由于文件格式并非为特定目的而建,因此序列化和反序 ...

  7. Arctic 基于 Hive 的流批一体实践

    背景 随着大数据业务的发展,基于 Hive 的数仓体系逐渐难以满足日益增长的业务需求,一方面已有很大体量的用户,但是在实时性,功能性上严重缺失:另一方面 Hudi,Iceberg 这类系统在事务性,快 ...

  8. 基于Hive进行数仓建设的资源元数据信息统计:Hive篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...

  9. 基于Hive进行数仓建设的资源元数据信息统计:Spark篇

    在数据仓库建设中,元数据管理是非常重要的环节之一.根据Kimball的数据仓库理论,可以将元数据分为这三类: 技术元数据,如表的存储结构结构.文件的路径 业务元数据,如血缘关系.业务的归属 过程元数据 ...

随机推荐

  1. JavaScript_proto_和prototype到底是什么玩意

    _proto_和prototype到底有什么区别啊?是个什么东西啊? 在这里我头也比较大啊,小学语文没学好,所以组织能力比较差劲,所以尽量的咱用代码来解释吧. function too() { thi ...

  2. node连接Mysql报错ER_NOT_SUPPORTED_AUTH_MODE

    报错信息 本人系统安装的是mysql-installer-community-8.0.18.0.msi这个版本,然后我本地使用node-mysql去连接数据库. test.js文件 var mysql ...

  3. VirtualBox下设置 XP虚拟机桥接模式

    virtualBox下设置虚拟机桥接模式

  4. DELL R720针对磁盘故障面板信息误报解决

    现象: 面板报警信息显示 PDR1101 fault detected on drive 0. Check drive... 经查资料是磁盘故障的原因,而r720的idrac似乎我们没有安装,我不能通 ...

  5. springboot注解@NotNull,@NotBlank,@Valid自动判定空值

    一.前言 搭建springboot项目,我们都是采用的Restful接口,那么问题来了,当前端调用接口或者是其他项目调用时,我们不能单一靠调用方来控制参数的准确性,自己也要对一些非空的值进行判定. 二 ...

  6. 判断CPU大小端示例代码

    #include <stdio.h> int checkCPU() { union w{ int a; char b; }c; c.a = ; ); } int main() { prin ...

  7. MySQL/MariaDB数据库的触发器

    MySQL/MariaDB数据库的触发器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.触发器概述 1>.什么是触发器 触发器的执行不是由程序调用,也不是由手工启动,而是 ...

  8. OpenStack核心组件-neutron网络服务

    1. neutron 介绍 1.1 Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能 ...

  9. C++(五十) — 容器中元素满足的条件

    容器中的内容必须满足三个条件: (1)无参构造函数 (2)拷贝构造函数 (3)重载 = 运算符 #define _CRT_SECURE_NO_WARNINGS #include <iostrea ...

  10. Go - IDE的选择与GoLand的安装

    目录 常用编辑器的选择 IDE的选择 GoLand的下载与安装 下载 安装 常用编辑器的选择 编写go程序,可以选择的编辑软件有很多,其中包括: notepad++ sublime visual st ...