「干货」SQL常用函数及避坑点汇总『Hive系列1』

2022-06-30 16:20:10 浏览数 (1)

预计阅读时间:5min

阅读建议:本文总结了工作中「常用的SQL函数」以及「可能踩到的一些坑」,偏知识总结类文章,建议「收藏」,需要的时候拿出来看一看。

00

序言

SQL是数据分析同学日常用到的查询语言,Hive是基于Hadoop的数据仓库工具,Hive提供了SQL的查询功能,可将SQL转化为MapReduce任务来执行。本文汇总了小火龙在工作中常用的Hive SQL函数,以及其中可能涉及到的一些坑,供大家参考学习。函数类型如下图:

本文主要汇总「内置函数」的几种类型,对于「用户自定义函数」的创建,会在后面的文章中进行讲解。

01

数值函数

「数值函数」主要是对int和float数据类型进行的处理。常用函数汇总如下:

避坑点

1、rand(x):相同“种子”多次结果均一致;无“种子”任何一次结果均不一致。

02

字符串函数

「字符串函数」主要是对char数据类型进行的处理。常用函数汇总如下:

03

条件函数

「条件函数」主要是对字段进行判断。常用函数汇总如下:

04

日期函数

「日期函数」主要是对日期进行处理,以及加减操作,在计算留存时经常使用。常用函数汇总如下:

05

关系函数

「关系函数」主要是对字段进行匹配。常用函数汇总如下:

避坑点

1、「NULL」和「空字符串」是不一样的,一般在数据库中表现为,「NULL」显示NULL,而「空字符串」显示为空,在匹配的时候需要注意。

举例:如果拿捏不好字段是哪种类型,并且需要去掉的情况,建议两者一起去掉。A is not null and A !=''

2、 Like、Rlike、Regexp的区别:

  • Like:通配符,不是正则。通配符涵盖 % 和 _。
  • Rlike:正则表达式,写法与java一样。
  • Regexp:基本同Rlike。

06

聚合函数

「聚合函数」多行转一行。常用函数汇总如下:

07

分拆函数

「分拆函数」一行转多行。常用函数汇总如下:

08

窗口函数

「窗口函数」又称OLAP函数(online analytical processing),完成类似聚合函数的计算效果,但是又保持每行的数据,不被聚合到一起。常用函数汇总如下:

避坑点

1、 rank( )over( )、dense_rank( )over( )、row_number( )over( )的区别

2、sum( )over( )函数中有order by 和 无order by的区别

以上就是本期的内容分享,希望可以帮助你理清Hive SQL常用函数。

0 人点赞