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),
目录
相关文章
|
4月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
567 0
|
6月前
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
694 5
|
数据可视化 数据挖掘 Linux
震撼发布!Python数据分析师必学,Matplotlib与Seaborn数据可视化实战全攻略!
在数据科学领域,数据可视化是连接数据与洞察的桥梁,能让复杂的关系变得直观。本文通过实战案例,介绍Python数据分析师必备的Matplotlib与Seaborn两大可视化工具。首先,通过Matplotlib绘制基本折线图;接着,使用Seaborn绘制统计分布图;最后,结合两者在同一图表中展示数据分布与趋势,帮助你提升数据可视化技能,更好地讲述数据故事。
293 1
|
数据采集 数据可视化 数据挖掘
基于Python的数据分析与可视化实战
本文将引导读者通过Python进行数据分析和可视化,从基础的数据操作到高级的数据可视化技巧。我们将使用Pandas库处理数据,并利用Matplotlib和Seaborn库创建直观的图表。文章不仅提供代码示例,还将解释每个步骤的重要性和目的,帮助读者理解背后的逻辑。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供有价值的见解和技能。
584 0
|
9月前
|
SQL JSON 数据可视化
基于 DIFY 的自动化数据分析实战
本文介绍如何使用DIFY搭建数据分析自动化流程,实现从输入需求到查询数据库、LLM分析再到可视化输出的全流程。基于经典的employees数据集和DIFY云端环境,通过LLM-SQL解析、SQL执行、LLM数据分析及ECharts可视化等模块,高效完成数据分析任务。此方案适用于人力资源分析、薪酬管理等数据密集型业务,显著提升效率并降低成本。
13506 16
|
9月前
|
存储 分布式计算 大数据
基于阿里云大数据平台的实时数据湖构建与数据分析实战
在大数据时代,数据湖作为集中存储和处理海量数据的架构,成为企业数据管理的核心。阿里云提供包括MaxCompute、DataWorks、E-MapReduce等在内的完整大数据平台,支持从数据采集、存储、处理到分析的全流程。本文通过电商平台案例,展示如何基于阿里云构建实时数据湖,实现数据价值挖掘。平台优势包括全托管服务、高扩展性、丰富的生态集成和强大的数据分析工具。
|
SQL 数据采集 数据可视化
深入 Python 数据分析:高级技术与实战应用
本文系统地介绍了Python在高级数据分析中的应用,涵盖数据读取、预处理、探索及可视化等关键环节,并详细展示了聚类分析、PCA、时间序列分析等高级技术。通过实际案例,帮助读者掌握解决复杂问题的方法,提升数据分析技能。使用pandas、matplotlib、seaborn及sklearn等库,提供了丰富的代码示例,便于实践操作。
317 64
|
数据采集 数据可视化 数据挖掘
Python数据分析:Pandas库实战指南
Python数据分析:Pandas库实战指南
|
数据挖掘 Python
Pandas实战(1):电商购物用户行为数据分析
Pandas实战(1):电商购物用户行为数据分析
651 1