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

news2024/11/25 2:59:00

文章目录

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

操作Hive

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

在这里插入图片描述

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

在这里插入图片描述


简单查询分析

测试简单指令

  • 测试一下简单的指令
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;

在这里插入图片描述


查询条数统计分析

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

在这里插入图片描述

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

在这里插入图片描述

  • 查询不重复的数据有多少条(为了排除客户刷单情况) **
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;

在这里插入图片描述


关键字条件查询分析

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

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

在这里插入图片描述

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

在这里插入图片描述


根据用户行为分析

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述


用户实时查询分析

  • 不同的品牌的浏览次数
# 创建新的数据表进行存储
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; 

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

1.7 TCP粘包、缺包问题解决

文章目录1、TCP粘包问题1.1、客户端粘包现象1.2、服务端粘包1.3、粘包、缺包解决2、包头设计1、TCP粘包问题 1.1、客户端粘包现象 因为客户端有一个优化算法(Nagle), send(“abc”); send(“123”); send(“def”); 如果这三次发送非常紧密时间非常短,会…

一、Endnote简介

一、简介 1.Edit-Preference-Libraries:设置默认打开时的操作。(默认打开最近一次) 2.文献库的建立File-New 生成一个数据库文件和一个文件夹 3.在线数据库搜索 (1)设置不同的检索字段: (2&am…

零基础小白想学Python爬虫,但是不理解原理?5分钟带你理顺思路

很多人私信我,说自己是0基础学习Python,但是学爬虫的时候不太理解这个原理,下面我来给大家分享一下我的对Python爬虫的原理。 首先我们要知道什么是Python爬虫? 我们可以把互联网看成是各种信息的站点及网络设备在一起组成的一…

UG/NX二次开发Siemens官方NXOPEN实例解析—2.1 AssemblyViewer

列文章目录 UG/NX二次开发Siemens官方NXOPEN实例解析—2.1 AssemblyViewer 目录 列文章目录 前言 一、知识点提取汇总 二、案例需求分析 1、最终效果图 2、需求分解 三、程序分析 1、源码所在目录 2、主要功能分析 前言 随着工业智能化的不断发展,UG二次开发…

[1]物联网基础知识

前言 学习教程:B站太极创客,原教程采用的开发板为ESP8266,开发环境Arduino 本人使用开发板:ESP32S3,开发环境Vscode中的platformio,框架为Arduino 乐鑫科技:ESPRESSIF 注意:引脚…

机器人开发--CanOpen

机器人开发--CanOpen1 介绍1.1 概述1.2 应用2 历史发展3 协议3.1 协议细节(来自CiA文档)3.2 协议框架OSI 模型服务COB-IDNMTSYNC紧急事件对象 (EMCY)服务数据对象 (SDO)SDO 下载SDO 上传SDO 加速写传输报文过程数据对象PDO3.3 应用细节(伺服电…

基于springboot+mybatis+mysql+layui员工工资管理系统

基于springbootmybatismysqllayui员工工资管理系统一、目的二、需求功能划分系统结构设计软件界面截图三、系统开发配置一、目的 ​ 运用JavaEE企业级系统开发、数据库系统、面向对象技术及UML以及软件需求工程所学专业知识,解决所设定业务领域软件开发中的需求分析…

2021一带一路暨金砖大赛之企业信息系统安全赛项AWD_writeup

更多详情私聊博主 订阅专栏解锁更多~~觉得不错麻烦点个赞~~~ AWD_writeup 主要考点:后门账户、数据库操作、cve漏洞、后门漏洞、自动化攻击 1、解法一 ssh弱口令账户 用户登录后cat /etc/passwd 发现系统存在额外账户 使用msf进行ssh爆破尝试 msfconsole use auxiliary/sca…

洛谷 最长公共子序列

LCS 题面翻译 题目描述: 给定一个字符串 sss 和一个字符串 ttt ,输出 sss 和 ttt 的最长公共子序列。 输入格式: 两行,第一行输入 sss ,第二行输入 ttt 。 输出格式: 输出 sss 和 ttt 的最长公共子序…

程序的动态链接(4):动态链接信息

前言 操作系统在执行动态链接的可执行文件时,会首先加载动态链接器,然后由动态链接器根据保存在可执行文件中的动态链接信息,完成依赖动态库的加载、符号解析以及重定位等工作。这些动态链接信息包括但不限于: 动态链接器路径&a…

联邦调查局和国际执法合作加强打击非法DDS攻击

©网络研究院 美国司法部在12月14日查封了48个出售“booter”或“stresser”服务的域名,这些服务使非技术用户可以轻松、廉价地发起强大的分布式拒绝服务(DDoS)攻击,旨在离线攻击目标。 司法部还指控六名美国男子犯有计算机罪,他们涉嫌…

基于simulink的PV光伏发电MPPT仿真

up目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 由于人口增加、城市化和工业化,能源需求与日俱增,可再生能源是我们传统能源的替代品,因为传统能源是有限的,而且会过期。 太阳能、风能和水能等清洁能源变得越来越…

老生常谈React的diff算法原理-面试版

第一次发文章 not only(虽然)版式可能有点烂 but also (但是)最后赋有手稿研究 finally看完他你有收获 diff算法:对于update的组件,他会将当前组件与该组件在上次更新是对应的Fiber节点比较,将比…

关于2022年国内软件质量调查问卷的一些感悟与收获

📋前言 1️⃣关于2022年国内软件质量调查主题征文活动 CSDN《2022年国内软件质量调查》正式开启,我们诚邀各位博主,特别是测试领域的各位技术er参与调查,并围绕主题,撰写《我填写“2022年国内软件质量调查问卷”的感想…

刷了一个月面试题,终于拿到了字节跳动的offer

一面 自我介绍项目中的监控:那个监控指标常见的有哪些?微服务涉及到的技术以及需要注意的问题有哪些?注册中心你了解了哪些?consul 的可靠性你了解吗?consul 的机制你有没有具体深入过?有没有和其他的注册…

(二)fiber的基本认识

上一篇文章我们了解了react新老结构的差异以及存在的缺点,其中react的解决方案就是采用fiber架构和添加Schedule模块。 ✍️:Schedule模块的主要工作是任务的调度,负责调度不同优先级任务的执行时机,这个我们后面再讲,…

Ardor公链生态与Jelurida产业区块链布局

Ardor公链 Ardor公链(ARDR)基于NXT公链,并于2018年1月1日推出了多链架构,旨在克服单链本质上的局限性。根据Ardor平台的白皮书,其主要目标是: 解决最终用户必须拥有作为手续费(Gas费&#xff…

FineReport复杂表格软件- 相对层次坐标

1. 概述 相对层次坐标是用来描述目标单元格和当前单元格之间的位置关系的表达式,概念图如下图所示: 说明: 参数 说明 Cellx 表示需要返回结果的单元格 Celly 表示位移时参考的单元格 z 代表相对位移的位置 注:相对后移需要…

【Linux】必须掌握的Linux常见指令分类讲解

目录一.Linux下的文件树二.工作目录切换命令1.ls——显示当前路径下的文件和目录2.pwd——显示当前目录的绝对值路径3.cd——切换至指定目录三.文件目录管理命令1.touch——创建空文件2.tree——树状打印目录3.mkdir——创建目录4.rmdir 和 rm ——删除目录5.cp——拷贝文件或目…

Python编程小白入门技巧,从入门到精通只需一个月。

毫无疑问,Python 是当下最火的编程语言之一。对于许多未曾涉足计算机编程的领域「小白」来说,深入地掌握 Python 看似是一件十分困难的事。其实,只要掌握了科学的学习方法并制定了合理的学习计划,Python 从 入门到精通只需要一个月…