HQL (hive sql)之函数总结

本文总结了Hive SQL的内置函数,包括运算符优先级、关系运算、数值运算、字符串和复杂类型操作等,并介绍了自定义函数的创建、使用和删除方法,帮助理解HQL如何扩展功能。
摘要由CSDN通过智能技术生成

HQL (hive sql)之函数总结

1. 背景

  1. 作为操作hive客户端的编程语言,hql有自己的数据类型,自然也有编译器,也有函数。并且这个函数有内置,也允许自定义来扩展功能
  2. 注意,不管是普通hql语言还是函数,最终都是转换为mapreduce程序来运行。(很少部分例外,是一些sql语句可以优化为不使用mapreduce,直接读取文件获取结果即可)

2. hive定义函数

2.1. 查看系统自带函数

show functions;

在这里插入图片描述

2.2. 显示自带函数用法

 desc function upper;

在这里插入图片描述

2.3. 详细显示自带函数用法

desc function extended upper;

在这里插入图片描述

2.4. 官方文档

https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
在这里插入图片描述

2.5 函数分类

2.5.1 运算符优先级

在这里插入图片描述

2.5.2 关系运算,就是得出的结果是true或者false(特殊几个特定场景返回NULL)

在这里插入图片描述

2.5.3 数值运算

在这里插入图片描述
注意,在HQL中,并没有异常这种概念,包括数组越界,null空指针等,只会以返回null值或者其他方式来兼容这些异常,并不是像java程序一样直接终止程序

2.5.4 逻辑运算符

在这里插入图片描述

2.5.5 字符串操作符

在这里插入图片描述

2.5.6 复杂类型构造方法

在这里插入图片描述

2.5.7 复杂类型操作符

在这里插入图片描述

2.5.8 数学运算

在这里插入图片描述
在这里插入图片描述

2.5.9 集合函数

在这里插入图片描述

2.5.10 类型转换

在这里插入图片描述

2.5.11 日期函数

在这里插入图片描述
在这里插入图片描述

2.5.12 条件判断

在这里插入图片描述

2.5.13 字符串处理函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.5.14 遮罩函数(给值加一层面具,类似把身份证中间几位变成***,带上面具一样,敏感信息就不会直接显示出来)

在这里插入图片描述

2.5.15 非查询相关函数

在这里插入图片描述

2.5.16 聚合函数

在这里插入图片描述
在这里插入图片描述

2.5.17 打散函数(将数据打散为一个中间数据表集合)

在这里插入图片描述

3. 自定义函数

概述

  1. 当hive自带函数无法满足要求时,可以自行编写java代码,打包后上传,然后临时或者永久关联到hive中,这样就是在hive中使用自定义的函数。
  2. 自定义函数也是分为多类
  • 一进一出,UDF(user defined function)
  • 多进一出(UDAF user defined aggregation function)
  • 一进多出(UDTF user defined table generating functions)
  1. 官方文档地址
    https://cwiki.apache.org/confluence/display/Hive
  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值