Apache Hive(三)

一、Apache Hive

1、ETL数据清洗

数据问题

问题1:当前数据中,有一些数据的字段为空,不是合法数据

解决:where 过滤

问题2:需求中,需要统计每天、每个小时的消息量,但是数据中没有天和小时字段,只有整体时间字段,不好处理

解决:Substr函数

问题3:从GPS的经纬度中提取经度和纬度

解决:split函数

问题4:将ETL以后的结果保存到一张新的Hive表中

解决:create table ... as select ....

2、SQL编写与指标计算

需求:

1、统计今日总消息量

sql 复制代码
-- 按天分组,求总和
select dayinfo,count(*) as tolal_cnt from t_msg group by dayinfo

2、统计今日每小时消息量、发送和接收用户数

sql 复制代码
-- 按天,小时分组,求发送/接收用户数--一人发送多条消息
select dayinfo,hourinfo,count(*) as tolal_cnt,
 count(distinct sender_account) as sender_cnt,
 count(distinct recdiver_account) as recdiver_cnt
  from t_msg group by dayinfo,hourinfo

3、统计今日各地区发送消息数据量

4、统计今日发送消息和接收消息的用户数

sql 复制代码
-- 按天分组,求发送/接收用户数--一人发送多条消息
select dayinfo,count(*) as tolal_cnt,
 count(distinct sender_account) as sender_cnt,
 count(distinct recdiver_account) as recdiver_cnt
  from t_msg group by dayinfo

5、统计今日发送消息最多的Top10用户

sql 复制代码
-- 按天和用户分组,求发送用户数--一人发送多条消息
select dayinfo,send_name,count(*) as msg_cnt
  from t_msg group by dayinfo,send_name order by msg_cnt desc limit 10;

6、统计今日接收消息最多的Top10用户

sql 复制代码
-- 按天和用户分组,求发送用户数--一人发送多条消息
select dayinfo,recdiver_name,count(*) as msg_cnt
  from t_msg group by dayinfo,recdiver_name order by msg_cnt desc limit 10;

7、统计发送人的手机型号分布情况

8、统计发送人的设备操作系统分布情况

1、实际开发中,拿到业务需求指标,如何下手?

2、SQL层面如何编写查询语句?

例:

**需求:**统计每个城市男女人数与男女平均年龄(表:t_user[id,name,age,sex,city])

分组字段:每个城市、男女

聚合字段:人数、平均年龄

count(id)就是统计每个分组中的条数--->人数

avg(age)就是统计每个分组中年龄的平均值--->平均年龄

3、FineBI实现可视化报表

Apache Hive(二)

请记住,你当下的结果,由过去决定;你现在的努力,在未来见效;
不断学习才能不断提高!磨炼,不断磨炼自己的技能!学习伴随我们终生!
生如蝼蚁,当立鸿鹄之志,命比纸薄,应有不屈之心。
乾坤未定,你我皆是黑马,若乾坤已定,谁敢说我不能逆转乾坤?
努力吧,机会永远是留给那些有准备的人,否则,机会来了,没有实力,只能眼睁睁地看着机会溜走。

相关推荐
Gain_chance1 小时前
36-学习笔记尚硅谷数仓搭建-DWS层数据装载脚本
大数据·数据仓库·笔记·学习
Gain_chance2 小时前
35-学习笔记尚硅谷数仓搭建-DWS层最近n日汇总表及历史至今汇总表建表语句
数据库·数据仓库·hive·笔记·学习
无级程序员11 小时前
大数据Hive之拉链表增量取数合并设计(主表加历史表合并成拉链表)
大数据·hive·hadoop
华农DrLai13 小时前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
心疼你的一切1 天前
解密CANN仓库:AIGC的算力底座、关键应用与API实战解析
数据仓库·深度学习·aigc·cann
qq_12498707531 天前
基于Hadoop的信贷风险评估的数据可视化分析与预测系统的设计与实现(源码+论文+部署+安装)
大数据·人工智能·hadoop·分布式·信息可视化·毕业设计·计算机毕业设计
十月南城1 天前
Hive与离线数仓方法论——分层建模、分区与桶的取舍与查询代价
数据仓库·hive·hadoop
鹏说大数据1 天前
Spark 和 Hive 的关系与区别
大数据·hive·spark
B站计算机毕业设计超人1 天前
计算机毕业设计Hadoop+Spark+Hive招聘推荐系统 招聘大数据分析 大数据毕业设计(源码+文档+PPT+ 讲解)
大数据·hive·hadoop·python·spark·毕业设计·课程设计
B站计算机毕业设计超人1 天前
计算机毕业设计hadoop+spark+hive交通拥堵预测 交通流量预测 智慧城市交通大数据 交通客流量分析(源码+LW文档+PPT+讲解视频)
大数据·hive·hadoop·python·spark·毕业设计·课程设计