目录

1、如何快速生成多行的序列

2、如何快速生成表数据

3.开窗函数

排序函数

平分函数 

聚合函数

 向上向下窗口函数


1、如何快速生成多行的序列

-- 需求: 请生成一列数据, 内容为 1 , 2 , 3 , 4 ,5   仅使用select语句
select explode(split('1,2,3,4,5',',')) as num;

-- 需求: 请生成一列数据, 内容 1~100  python 中有一个函数  range(1,100)
-- SQL函数: https://spark.apache.org/docs/3.1.2/api/sql/index.html
-- sequence(start, stop, step)  :  参数1: 起始值  参数2  结束值  参数3  步长(默认为1)   包头包尾
select explode(sequence(1,100)) as  num;

2、如何快速生成表数据

快速生成列 

快速生成内容 

永久视图 

-- 创建永久视图
create or replace view t3 as
    select stack(2,'M','F')as sex;
select * from t3;

临时视图 

-- 创建临时视图
create or replace temporary view t4 as
    select stack(2,'男','女')as sex;
select * from t4;

复制表 

-- 创建复制表
use test_sql;
create table t5 as
    select stack(2,'M','F')as sex;
select * from t5;

 缓存相关内容


-- 缓存表
cache table t6 as
    select  stack(2,'M','F')as sex;

--清空一个表的缓存数据
UNCACHE TABLE t6;

--清空所有的缓存
clear chche;

3.开窗函数

创建数据

-- 初始化一些数据
create or replace temporary view t1(cookie, dateStr,pv) as
    values ('cookie1','2022-10-05',80),
           ('cookie1','2022-10-06',75),
           ('cookie1','2022-10-07',75),
           ('cookie1','2022-10-08',79),
           ('cookie1','2022-10-09',85),
           ('cookie1','2022-10-10',71),
           ('cookie2','2022-10-05',80),
           ('cookie2','2022-10-06',74),
           ('cookie2','2022-10-07',79),
           ('cookie2','2022-10-08',92),
           ('cookie2','2022-10-09',95);

select * from t1;

排序函数

平分函数 

聚合函数

 向上向下窗口函数

 

01-31 10:19