电影票房之数据分析(Hive)

电影票房之数据分析(Hive)

第1关:统计2020年上映的电影中,当前总票房最高的10部电影

#进入hive

hive

#在hive中创建数据库 mydb

create database mydb;

#使用数据库 mydb

use mydb;

#创建表moviecleaned并使用"/t"分割字段

create table moviecleaned(movie_name string,boxoffice string, box_rate string, sessions string, show_count_rate string, avg_number string, attendance string, total_boxoffice string, movie_days string,current_time string,releaseDate string) 
row format delimited fields terminated by '\t' 
stored as textfile;

#将本地清洗后的数据导入moviecleaned表中

load data local inpath '/data/workspace/myshixun/data/movies.txt' into table moviecleaned;

#创建top10_boxoffice表,用来存放数据查询的结果

create table top10_boxoffice(movie_name string, boxoffice float) row format delimited fields terminated by '\t' stored as textfile;

#查询,并将结果导入top10_boxoffice表中

insert overwrite table top10_boxoffice 
select movie_name,max(round(total_boxoffice,1)) m 
from moviecleaned 
WHERE releaseDate like '2020%'  
group by movie_name  
ORDER BY m DESC 
limit 10;

第2关: 统计2020年国庆假期中电影票房增长最多的三部电影及其每日的票房数据

#创建boxoffice_national_day表,用来存放数据查询的结果

create table boxoffice_national_day(movie_name string, boxoffice float,dates string) row format delimited fields terminated by '\t' stored as textfile;

#查询,并将结果导入boxoffice_national_day表中

insert overwrite table boxoffice_national_day 
select movie_name,boxoffice,current_time 
from moviecleaned 
WHERE movie_name in
(select t.movie_name from(select movie_name,sum(boxoffice) as n from moviecleaned WHERE current_time between '2020-10-01' and '2020-10-07' GROUP BY movie_name order by n desc LIMIT 3) as t) 
and  current_time between '2020-10-01' and '2020-10-07';

第3关:统计2020年中当日综合总票房最多的10天

#创建day_max_boxoffice表,用来存放数据查询的结果

create table day_max_boxoffice(dates string, boxoffice float) 
row format delimited fields terminated by '\t' stored as textfile;

#查询,并将结果导入day_max_boxoffice表中

insert overwrite table day_max_boxoffice 
select current_time,round(sum(boxoffice),2) as n 
from moviecleaned 
WHERE releaseDate like '2020%'  
group by current_time  
ORDER BY n DESC limit 10;

第4关:统计2020年首映的电影上映后7天的电影票房信息

#创建movie_boxoffice表,用来存放数据查询的结果

create table movie_boxoffice(movie_name string,dates string, boxoffice float) 
row format delimited fields terminated by '\t' stored as textfile;

#查询,并将结果导入movie_boxoffice表中

insert overwrite table movie_boxoffice 
select t.movie_name,moviecleaned.current_time,boxoffice 
from moviecleaned left join 
(select movie_name,current_time from moviecleaned WHERE movie_days="上映首日" and releaseDate like "2020%" GROUP BY movie_name,current_time) t 
on moviecleaned.movie_name=t.movie_name 
WHERE moviecleaned.current_time between t.current_time and DATE_ADD(t.current_time,+6) 
ORDER BY t.movie_name,moviecleaned.current_time;

第5关:统计2020年元旦节与国庆节放假后7天的观影人数

#创建movie_boxoffice表,用来存放数据查询的结果

create table festival_boxoffice(dates string,festival string, num int) row format delimited fields terminated by '\t' stored as textfile;

#查询,并将结果导入movie_boxoffice表中

insert overwrite table festival_boxoffice 
select split(current_time,'-')[2],case 
when  t.current_time  between '2020-10-01' and '2020-10-07' then 'national_day' 
when  t.current_time between '2020-01-01' and '2020-01-07' then 'new_year_day' 
else 'other' END as festival ,
cast(sum(num) as bigint) 
from (select current_time,avg_number*sessions as num from moviecleaned 
WHERE current_time between '2020-10-01' and '2020-10-07' or current_time between '2020-01-01' and '2020-01-07') t 
GROUP BY current_time;
  • 4
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Hive是一款基于Apache Hadoop的数据仓库工具,具有高扩展性和容错性。通过Hive可以方便地进行大数据分析,包括对电影数据的分析和可视化。 针对电影数据的分析,可以将数据导入Hive表中,然后使用Hive SQL语言进行数据查询和聚合。例如,可以通过Hive查询每个月的电影票房收入、不同类型电影的产量等信息,也可以对电影评分数据进行分析,了解用户对电影的喜好倾向,找到受欢迎的电影和顶级演员等信息。 通过Hive Tableau等进行可视化分析可以更加直观地展示数据。例如,在Tableau中可以使用电影票房收入、电影类型等信息建立热力图、堆积柱状图或散点图等图表,展现电影市场和受众的状况。还可以建立电影推荐模型,利用机器学习算法,将电影数据和用户喜好进行匹配,从而给用户推荐最适合自己观看的电影。 总之,基于Hive电影数据分析和可视化可以帮助我们更好地了解电影市场及用户信息,从而为电影行业的决策和发展提供有利的支持。 ### 回答2: 基于hive电影数据分析及可视化是一种利用大数据技术来探索电影市场的方法。通过对海量电影数据进行收集、存储和分析,可以找出电影市场的趋势及热点,为电影产业提供决策支持。 在这个过程中,hive数据库是执行数据清洗和预处理的关键工具。它能够使用Hadoop集群处理大量的电影数据,并将结果存储在Hadoop服务器上,以便在需要时方便地进行查询和分析。 电影数据分析通常涵盖电影票房、受欢迎程度、观众反应和地域分布等多个方面。在hive中,可以通过SQL语句进行查询,比如:找出某个月份内最受欢迎的五部电影、查看某个地区电影票房排名、分析电影类型在不同地区的流行程度等。 可视化是另一个重要的方面,通过采用数据可视化工具,可以将hive数据库中的数据以图形的方式展示出来。这种方法可以使数据变得更加生动且易于理解,通过可视化图表或热力图等形式,帮助用户更清晰地了解电影市场的情况,为电影行业的业务和市场调研提供有力支持。 总之,基于hive电影分析及可视化是应用大数据技术来探索电影市场的一种新型方式,它能够让我们更深入地理解电影市场的情况,为电影产业的决策者提供更详尽的数据支撑,对于推动电影行业的发展具有重要的意义。 ### 回答3: Hive是一种流行的分布式数据存储和查询系统,它提供了一个类似于SQL的查询语言,用于处理大规模数据集。基于Hive电影数据分析和可视化是一种有效的方法来了解电影产业的趋势和偏好。通过使用Hive查询语言,分析电影数据集并使用可视化工具呈现结果,可以从多个维度了解电影市场的特点。 首先,我们可以使用Hive查询语言对电影数据进行初步的数据清洗和过滤,例如去除无用字段和重复数据。然后,我们可以使用Hive的聚合函数来计算电影数量、票房总额、平均票价等重要指标,并利用Hive的窗口函数来计算每个电影类型和地区的排名。从排名结果中我们可以发现用户对不同电影类型和地区有着不同的好恶。 其次,通过使用可视化工具如Tableau、PowerBI等,我们可以将Hive查询结果转换为各种图表,如柱形图、折线图、地图等,以更加生动形象地展示电影市场的情况。例如,可以制作图表以显示电影类型的销售情况、票房收入的时间趋势以及地域销售情况。 最后,从分析结果中可以发现一些有趣的趋势,如好莱坞大片和爆笑喜剧通常是最受欢迎的电影类型,而中国内地和北美是电影销售最为火爆的区域。通过层层拆解和可视化电影数据,可以对电影市场有全面了解,有助于电影从业人员做出更明智的决策。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wa_Automata

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值