【大数据处理技术】「#2」Hive数据分析

文章目录

  • 操作Hive
  • 简单查询分析
    • 测试简单指令
  • 查询条数统计分析
  • 关键字条件查询分析
    • 以关键字的存在区间为条件的查询
  • 根据用户行为分析
  • 用户实时查询分析

操作Hive

  • 启动Hive
  • 在“hive>”命令提示符状态下执行下面命令:
hive> use dbtaobao; # 使用dbtaobao数据库
hive> show tables; # 显示数据库中所有表。
hive> show create table user_log; # 查看user_log表的各种属性;

【大数据处理技术】「#2」Hive数据分析_第1张图片

  • 执行下面命令查看表的简单结构:
hive> select brand_id from user_log limit 10; # 查看日志前10个交易日志的商品品牌

【大数据处理技术】「#2」Hive数据分析_第2张图片


简单查询分析

测试简单指令

  • 测试一下简单的指令
hive> select brand_id from user_log limit 10; # 查看日志前10个交易日志的商品品牌
  • 查询前20个交易日志中购买商品时的时间和商品的种类
hive> select month,day,cat_id from user_log limit 20;
  • 查询可以利用嵌套语句,如果列名太复杂可以设置该列的别名,以简化我们操作的难度
hive> select ul.at, ul.ci  from (select action as at, cat_id as ci from user_log) as ul limit 20;

【大数据处理技术】「#2」Hive数据分析_第3张图片


查询条数统计分析

  • 用聚合函数count()计算出表内有多少条行数据
hive> select count(*) from user_log; 
# 用聚合函数count()计算出表内有多少条行数据

【大数据处理技术】「#2」Hive数据分析_第4张图片

  • 在函数内部加上distinct,查出uid不重复的数据有多少条
hive> select count(distinct user_id) from user_log; 
# 在函数内部加上distinct,查出user_id不重复的数据有多少条

【大数据处理技术】「#2」Hive数据分析_第5张图片

  • 查询不重复的数据有多少条(为了排除客户刷单情况) **
hive> select count(*) from (select user_id,item_id,cat_id,merchant_id,brand_id,month,day,action from user_log group by user_id,item_id,cat_id,merchant_id,brand_id,month,day,action having count(*)=1)a;

【大数据处理技术】「#2」Hive数据分析_第6张图片


关键字条件查询分析

以关键字的存在区间为条件的查询

  • 查询双11那天有多少人购买了商品
hive> select count(distinct user_id) from user_log where action='2';

【大数据处理技术】「#2」Hive数据分析_第7张图片

  • 关键字赋予给定值为条件,对其他数据进行分析(取给定时间和给定品牌,求当天购买的此品牌商品的数量)
hive> select count(*) from user_log where action='2' and brand_id=2661;

【大数据处理技术】「#2」Hive数据分析_第8张图片


根据用户行为分析

  • 查询一件商品在某天的购买比例或浏览比例、
# 查询有多少用户在双11购买了商品
hive> select count(distinct user_id) from user_log where action='2'; 
# 查询有多少用户在双11点击了该店
hive> select count(distinct user_id) from user_log; 

【大数据处理技术】「#2」Hive数据分析_第9张图片

  • 查询双11那天,男女买家购买商品的比例
hive> select count(*) from user_log where gender=0; # 查询双11那天女性购买商品的数量
hive> select count(*) from user_log where gender=1; # 查询双11那天男性购买商品的数量

【大数据处理技术】「#2」Hive数据分析_第10张图片

  • 给定购买商品的数量范围,查询某一天在该网站的购买该数量商品的用户id
# 查询某一天在该网站购买商品超过5次的用户id
hive> select user_id from user_log where action='2' group by user_id having count(action='2')>5; 

【大数据处理技术】「#2」Hive数据分析_第11张图片


用户实时查询分析

  • 不同的品牌的浏览次数
# 创建新的数据表进行存储
hive> create table scan(brand_id INT,scan INT) COMMENT 'This is the search of bigdatataobao' ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' STORED AS TEXTFILE;
# 导入数据
hive> insert overwrite table scan select brand_id,count(action) from user_log where action='2' group by brand_id; 
# 显示结果
hive> select * from scan; 

【大数据处理技术】「#2」Hive数据分析_第12张图片

你可能感兴趣的:(【作业分享交流】,hive,数据分析,大数据)