Python大数据学习之Hadoop学习——day08_hive函数

一.hive查询

语法结构:

SELECT [ALL | DISTINCT] 字段名,字段名,...

FROM 表名 [inner | left outer | right outer | full outer | left semi join 表名 on 关联条件]

where 非聚合条件

GROUP BY 分组字段名

HAVING 聚合条件

ORDER BY 排序字段名 asc \| desc

CLUSTER BY 字段名 \| \[DISTRIBUTE BY 字段名 SORT BY 字段名\]

LIMIT x,y

类sql基本查询

知识点:

基础查询格式:select distinct 字段名 from 表名;

注意:*代表所有字段 distinct去重 as给表或者字段起别名

条件查询格式:select distinct 字段名 from where 条件;

比较运算符:> < >= <= != <>

逻辑运算符:and or not

模糊查询:%代表任意0个或者多个字符

_代表任意1个字符

空判断:为空is null 不为空is not null

范围查询:x到y的连续范围:between x and y

x或者y或者z类的非连续范围:in(x,y,z)

排序查询格式:select distinct 字段名 from 表名 [where 条件] order by 排序字段名 asc | desc ;

聚合查询格式:select distinct 字段名 from 表名;

聚合函数:count() sum() avg() max() min()

分组查询格式:select 分组字段名,聚合函数(字段名) from 表名 [where 非聚合条件] group by 分组字段名 [having 聚合条件];

分页查询条件:select 字段名 from 表名 [order by 排序字段名 asc|desc] limit x,y;

类sql多表查询

知识点:

交叉连接格式:select 字段名 from 左表 cross join 右表

内连接格式:select 字段名 from 左表 inner join 右表 on 左右表关联条件;

左外连接格式:select 字段名 from 左表 left outer join 右表 on 左右表关联条件;

右外连接格式:select 字段名 from 左表 right outer join 右表 on 左右表关联条件;

自连接:本质是一个特殊的内外连接,最大特点就是左右表是同一个表

子查询:本质是一个select语句作为另外一个select语句的一部分(表或者条件)

hive其他join操作

知识点:

全外连接:左表 full [outer] join 右表 on 条件

左半开连接:左表 left semi join 右表 on 条件

hive其他排序操作[练习]

知识点:

set mapreduce.job reduces: 查看当前设置的reduce数量,默认结果是-1,代表自动reduce数量和桶数量一致

set mapreduce.job.reduce = 数量 :-- 修改reduce数量

cluster by 字段名:分桶且正序排序

distribute by 字段名 sort by 字段名:distribute by 负责分,sort by 负责排序,相对比较灵活

order by 字段名:全局排序

注意:cluster by 和 distribute by 字段名 sort by 字段名 受当前设置的reduces数量影响,但是设置的reduce数量对order by 无影响,因为order by 就是全局排序,就是一个reduce

建表的时候指定分桶字段和排序字段:clustered by (字段名) sorted by (字段名) into 桶数量 bucket

注意:如果建表的时候设置了桶数量,那么reduce设置建议为-1或者大于桶数量

抽样查询

知识点:

正则模糊查询

sql模糊查询关键字:like

正则模糊查询关键字:rlike

union联合查询

union联合查询:

union [distinct]:去重,省略了distinct

union all:不去重

CTE表达式

with 临时结果集别名1 as (子查询语句),

临时结果集别名2 as (子查询语句)

...

select 字段名 from (子查询语句)

内置虚拟列

知识点:

相关推荐
武子康16 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
大大大大晴天17 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
武子康3 天前
大数据-236 离线数仓 - 会员指标验证、DataX 导出与广告业务 ODS/DWD/ADS 全流程
大数据·后端·apache hive
武子康4 天前
大数据-235 离线数仓 - 实战:Flume+HDFS+Hive 搭建 ODS/DWD/DWS/ADS 会员分析链路
大数据·后端·apache hive
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
够快云库4 天前
能源行业非结构化数据治理实战:从数据沼泽到智能资产
大数据·人工智能·机器学习·企业文件安全
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
AI周红伟4 天前
周红伟:智能体全栈构建实操:OpenClaw部署+Agent Skills+Seedance+RAG从入门到实战
大数据·人工智能·大模型·智能体
B站计算机毕业设计超人4 天前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
计算机程序猿学长4 天前
大数据毕业设计-基于django的音乐网站数据分析管理系统的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
大数据·django·课程设计