大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写

前言

嗨,各位小伙伴,恭喜大家学习到这里,不知道关于大数据前面的知识遗忘程度怎么样了,又或者是对大数据后面的知识是否感兴趣,本文是《大数据从入门到精通(超详细版)》的一部分,小伙伴们如果对此感谢兴趣的话,推荐大家按照大数据学习路径开始学习哦。

以下就是完整的学习路径哦。

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

大数据从入门到精通文章体系!!!!!!!!!!!!!!

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑

推荐大家认真学习哦!!!

上一篇文章中,我们学习了Hive实战的数据清洗策略,我们这些来学习指标统计。
大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第1张图片

文章目录

  • 前言
  • 案例需求
  • 案例实现
    • 统计今日总消息量
    • 统计今日每小时消息量、发送和接收用户数
    • 统计今日各地区发送消息数据量
    • 统计今日发送消息和接收消息的用户数
    • 统计今日发送消息最多的Top10用户
    • 统计今日接收消息最多的Top10用户
    • 统计发送人的手机型号分布情况
    • 统计发送人的设备操作系统分布情况
  • 结尾

案例需求

  • 统计今日总消息量
  • 统计今日每小时消息量、发送和接收用户数
  • 统计今日各地区发送消息数据量
  • 统计今日发送消息和接收消息的用户数
  • 统计今日发送消息最多的Top10用户
  • 统计今日接收消息最多的Top10用户
  • 统计发送人的手机型号分布情况
  • 统计发送人的设备操作系统分布情况

案例实现

统计今日总消息量

语法:

--保存结果表
CREATE TABLE IF NOT EXISTS tb_rs_total_msg_cnt 
COMMENT "每日消息总量" AS 
SELECT 
    msg_day, 
    COUNT(*) AS total_msg_cnt 
FROM db_msg.tb_msg_etl 
GROUP BY msg_day;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第2张图片

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

语法:

--保存结果表
CREATE TABLE IF NOT EXISTS tb_rs_hour_msg_cnt 
COMMENT "每小时消息量趋势" AS  
SELECT  
    msg_hour, 
    COUNT(*) AS total_msg_cnt, 
    COUNT(DISTINCT sender_account) AS sender_usr_cnt, 
    COUNT(DISTINCT receiver_account) AS receiver_usr_cnt
FROM db_msg.tb_msg_etl GROUP BY msg_hour;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第3张图片

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

语法:

CREATE TABLE IF NOT EXISTS tb_rs_loc_cnt
COMMENT '今日各地区发送消息总量' AS 
SELECT 
    msg_day,  
    sender_lng, 
    sender_lat, 
    COUNT(*) AS total_msg_cnt 
FROM db_msg.tb_msg_etl
GROUP BY msg_day, sender_lng, sender_lat;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第4张图片

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

语法:

--保存结果表
CREATE TABLE IF NOT EXISTS tb_rs_usr_cnt
COMMENT "今日发送消息人数、接受消息人数" AS
SELECT 
msg_day, 
COUNT(DISTINCT sender_account) AS sender_usr_cnt, 
COUNT(DISTINCT receiver_account) AS receiver_usr_cnt
FROM db_msg.tb_msg_etl
GROUP BY msg_day;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第5张图片

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

语法:

--保存结果表
CREATE TABLE IF NOT EXISTS db_msg.tb_rs_s_user_top10
COMMENT "发送消息条数最多的Top10用户" AS
SELECT 
    sender_name AS username, 
    COUNT(*) AS sender_msg_cnt 
FROM db_msg.tb_msg_etl 
GROUP BY sender_name 
ORDER BY sender_msg_cnt DESC 
LIMIT 10;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第6张图片

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

语法:

CREATE TABLE IF NOT EXISTS db_msg.tb_rs_r_user_top10
COMMENT "接收消息条数最多的Top10用户" AS
SELECT 
receiver_name AS username, 
COUNT(*) AS receiver_msg_cnt 
FROM db_msg.tb_msg_etl 
GROUP BY receiver_name 
ORDER BY receiver_msg_cnt DESC 
LIMIT 10;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第7张图片

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

语法:

CREATE TABLE IF NOT EXISTS db_msg.tb_rs_sender_phone
COMMENT "发送人的手机型号分布" AS
SELECT 
    sender_phonetype, 
    COUNT(sender_account) AS cnt 
FROM db_msg.tb_msg_etl 
GROUP BY sender_phonetype;

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第8张图片

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

语法:

--保存结果表
CREATE TABLE IF NOT EXISTS db_msg.tb_rs_sender_os
COMMENT "发送人的OS分布" AS
SELECT
    sender_os, 
    COUNT(sender_account) AS cnt 
FROM db_msg.tb_msg_etl 
GROUP BY sender_os

大数据从入门到精通(超详细版)之Hive案例,指标统计, Sql语句的编写_第9张图片

以上就是关于指标统计案例的全部内容了.

结尾

恭喜小伙伴完成本篇文章的学习,相信文章的内容您已经掌握得十分清楚了,如果您对大数据的知识十分好奇,请接下来跟着学习路径完成大数据的学习哦,相信你会做到的~~~

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓

大数据从入门到精通文章体系!!!!!!!!!!!!!!

你可能感兴趣的:(大数据从入门到精通(超详细版),大数据,hive,sql)