L3 Hive操作

news/2024/11/19 13:36:59/

示例:

  • 1.建表
create table t_dml (detail_id bigint,sale_date date,province string,city string,product_id bigintcnt double,amt double,
)row format delimited
fields terminated by ','; //列分隔符
create table t_product(product_id bigint,product_name string,category_id bigint,category_name string,price double
)row format delimited
fields terminated ',';
  • 2.加载数据
load data local inpath '/opt/data/t_dml.csv' into table t_dml;
load data local inpath '/opt/data/t_product.csv' into table t_product;
  • 3.常见SQL语句

查询销售记录的时间段:

select max(sale_date),min(sale_date) form t_dml;

查询各商品类别的总销售额

select t.category_name, sum(t.amt) as total_money
from
(select a.product_id, a.amt, b.category_name
from t_dml a
join t_product b
on a.product_id == b.product_id
) t
group by t.category_name;

查询销售量排行榜

select a.product_name, t.cnt_total, rank() over(order by t.cnt_total desc) as rk
(select product_id, sum(cnt) as cnt_total
from t_dml
group by product_id
order by cnt_total desc
limit 10
) t
join t_product a
on a.product_id == t.product_id;

想知道各个市县的购买力,同时自己的商品在哪个地区最热卖,通过创建中间表,优化查询

  • 创建中间表
create table t_city_amt(province string,city string,total_money double
);
create table t_city_prod
(province string,city string,product_id bigint,product_name string,category_id bigint,cnt bigint
);
  • 插入数据
insert into t_city_amt
select province,city,sum(amt)
form t_dml 
group by province,city
insert into t_city_prod
select t.province, t.city, t.product_id, t.product_name, sum(t.cnt)
from 
(
select a.product_id, b.product_name, a.cnt, a.province, a.city
form t_dml a join t_product b
on a.product_id = b.product_id
) t
group by t.province, t.city, t.product_id, t.product_name
  • 基于中间表进行查询
select
form 
(select province, city,  product_id, product_name,from t_city_prod
) t

http://www.ppmy.cn/news/1103733.html

相关文章

探索GreatADM:如何快速定义监控

引文 在数据库运维过程中,所使用的运维管理平台是否存在这样的问题: 1、默认监控粒度不够,业务需要更细颗粒度的监控数据。2、平台默认的监控命令不适合,需要调整阈值量身定制监控策略。3、不同类型的实例或组件需要有不同的监控重点,但管理平台监控固…

你不能不了解的Java23中设计模式之【抽象工厂模式】

目录 一.介绍抽象工厂模式 1.概念 2.结构: 抽象工厂模式包含以下角色: 3.工作原理: 4.应用场景: 抽象工厂模式适用于以下情况: 5.使用方法: 二.具体实例通过抽象工厂模式实现计算器 1.创建Maven工程…

无涯教程-JavaScript - DDB函数

描述 DDB函数使用双倍余额递减法或您指定的某些其他方法返回指定期间内资产的折旧。 语法 DDB (cost, salvage, life, period, [factor])争论 Argument描述Required/OptionalCostThe initial cost of the asset.RequiredSalvage 折旧结束时的价值(有时称为资产的残值)。 该…

数据结构 - 双向链表

文章目录 目录 文章目录 前言 一、什么是双向链表? 双向链表有什么优势? 二、双向链表的设计和实现 1.设计思想 尾增 : 在链表的末尾添加新的元素 头插 : 在链表头部插入节点 删除 : 根据val的值删除节点 查找 : 根据索引的值查找并返回节点 总结 前言 大家好,今天给…

iOS开发Swift-12-列表UI,TableViewController,动态响应Button勾选-待办事项App(1)

1.创建新项目 为项目添加图标 2.将Table View Controller添加到界面中 将箭头移动到Table View上来,代表它是首页(根页面).选中ViewController,点击Delete,对它进行删除.将代码ViewController.swift也删除掉. 新建一个Cocoa Touch Class. 将TableViewController的cla…

第15章_瑞萨MCU零基础入门系列教程之Common I2C总线模块

本教程基于韦东山百问网出的 DShanMCU-RA6M5开发板 进行编写,需要的同学可以在这里获取: https://item.taobao.com/item.htm?id728461040949 配套资料获取:https://renesas-docs.100ask.net 瑞萨MCU零基础入门系列教程汇总: ht…

使用@RestControllerAdvice统一处理@ResponseBody的返回前端数据

一、前言 spring mvc下,在controller控制类中,标注了ResponseBody的方法正常来说返回的是json对象,有时候还想额外在特定条件下处理一些数据(使用if),又或者是每个返回json数据的方法都可能需要做同样的处…

Nginx 配置错误导致漏洞

文章目录 Nginx 配置错误导致漏洞1. 环境启动2. CRLF注入漏洞2.1 漏洞描述2.2 漏洞原理2.3 漏洞利用2.4 修复建议 3. 目录穿越漏洞3.1 漏洞描述3.2 漏洞原理3.3 漏洞利用3.4 修复建议 4. add_header被覆盖4.1 漏洞描述4.2 漏洞原理4.3 漏洞利用4.4 修复建议 Nginx 配置错误导致…