Hive数据分析实战

简介: 有以下几张数据表,请写出Hive SQL语句,实现以下需求。注:分区字段为dt,代表日期。

有以下几张数据表,请写出Hive SQL语句,实现以下需求。


注:分区字段为dt,代表日期。


1、某次经营活动中,商家发起了"异性拼团购",试着针对某个地区的用户进行推广,找出匹配用户。


参考实现:选出城市在北京,性别为男的10个用户名


select user_name
from user_info
where city=‘beijing’ and sex=‘male’
limit 10;


2、某天,发现食物类的商品卖的很好,你能找出几个资深吃货吗?

参考实现:选出在2019年6月18日,购买的商品类是food的用户名、购买数量、支付金额,并按照购买数量、支付金额倒序排序,取前10个用户。


select user_name, piece, pay_amount
from user_trade
where dt=‘2019-06-18’ and goods_category=‘food’
order by pay_amount desc, piece desc
limit 10;


3、试着对本公司2019年第一季度商品的热度与价值度进行分析。

参考实现:2019年1月到3月,每个品类有多少人购买,累计金额是多少。


select goods_category,
count(distinct user_name) as user_num,
sum(pay_amount) as total_amount
from user_trade
where dt between ‘2019-01-01’ and ‘2019-03-31’
group by goods_category;


4、2019年4月,支付金额超过5万元的用户,给VIP用户赠送优惠劵。


参考实现:2019年4月份,统计每位用户的支付金额,筛选出超过5万元的。


select user_name,
sum(pay_amount) as total_amount
from user_trade
where dt between ‘2019-04-01’ and ‘2019-04-30’
group by user_name
having sum(pay_amount)>50000;


5、去年的劳动节新用户推广活动价值分析,即拉新分析。


参考实现:统计2019年5月1日之后,每日激活用户的数量。


select sum(user_name) as user_num,
datediff(to_date(firstactivetime), ‘2019-05-01’)
from user_info
where to_date(firstactivetime) between ‘2019-05-01’ and ‘2019-05-31’
group by to_date(firstactivetime);


6、对用户的年龄段进行分析,观察分布情况。


参考实现:统计以下四个年龄段:20岁以下、20-30岁、30-40岁、40岁以上的用户数。


select case when age<20 then ‘20岁以下’
when age>=20 and age<30 then ‘20-30岁’
when age>=30 and age<40 then ‘30-40岁’
else ‘40岁以上’ end as age_type
count(distinct user_name) as user_num
from user_info
group by case when age<20 then ‘20岁以下’
when age>=20 and age<30 then ‘20-30岁’
when age>=30 and age<40 then ‘30-40岁’
else ‘40岁以上’ end;


7、去年王思聪的微博抽奖活动引起争议,我们想要观察用户等级随性别的分布情况。


参考实现:统计每个性别用户等级高低分布情况(level大于5为高级)


select sex.
if(level>5, ‘高’, ‘低’) as level_type,
count(distinct user_name) as user_num
from user_info
group by sex,
if(level>5, ‘高’, ‘低’);


8、分析每个月的拉新情况,可以倒推回运营效果。


参考实现:统计每个月激活用户的数量


select substr(firstactivetime, 1, 7) as active_month,
count(distinct user_name) as user_num
from user_info
group by substr(firstactivetime, 1, 7);


9、找出不同手机品牌的用户分布情况。


参考实现:按照手机品牌分组,统计每个品牌的用户数量。


select extra2[‘phonebrand’] as phone_brand,
count(distinct user_name) as user_num
from user_info
group by extra2[‘phonebrand’];


10、找出在2018年具有VIP潜质的用户,发送VIP试用劵。


参考实现:2018年购买的商品品类在五个以上的用户


select user_name,
count(distinct goods_category) as category_num
from user_trade
where year(dt)=‘2018’
group by user_name
having count(distinct goods_category)>5;


11、激活天数距今超过300天的男女分布情况

select sex,
count(distinct user_name) as user_num
from user_info
where datediff(current_date(),to_date(firstactivetime))>300
group by sex;


12、不同性别、教育程度的分布情况

select sex,
extra2[“education”] as education,
count(distinct user_name) as user_num
from user_info
group by sex,
extra2[“education”];


13、2019年1月1日到2019年4月30日,每个时段的不同品类购买金额分布。


select substr(from_unixtime(pay_time, ‘yyyy-MM-dd HH’), 12),
goods_category,
sum(pay_amount) as total_amount
from user_trade
where dt between ‘2019-01-01’ and ‘2019-04-30’
group by
substr(from_unixtime(pay_time, ‘yyyy-MM-dd HH’), 12),
目录
相关文章
|
1月前
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
79 5
|
3月前
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
56 1
|
2月前
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
168 0
|
2月前
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
166 64
|
27天前
|
并行计算 数据挖掘 大数据
Python数据分析实战:利用Pandas处理大数据集
Python数据分析实战:利用Pandas处理大数据集
|
3月前
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
110 1
|
3月前
|
数据挖掘 Python
Pandas实战(3):电商购物用户行为数据分析
Pandas实战(3):电商购物用户行为数据分析
122 1
|
3月前
|
数据挖掘 Python
Pandas实战(2):电商购物用户行为数据分析
Pandas实战(2):电商购物用户行为数据分析
70 1
|
2月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
120 0
|
4月前
|
数据采集 算法 数据挖掘
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战
LinkedIn 对全球超过3.3亿用户的工作经历和技能进行分析后得出,目前最炙手可热的25 项技能中,数据挖掘排名第一。那么数据挖掘是什么? 数据挖掘是从大量数据(包括文本)中挖掘出隐含的、先前未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程。数据挖掘有助于企业发现业务的趋势,揭示已知的事实,预测未知的结果,因此“数据挖掘”已成为企业保持竞争力的必要方法。 今天给小伙伴们分享的Python数据分析与数据挖掘手册是10余位数据挖掘领域资深专家和科研人员,10余年大数据挖掘咨询与实施经验结晶。从数据挖掘的应用出发,以电力、
10余位大佬+10余年经验的结晶:Python数据分析与挖掘实战