--=======================
查看内置的函数
--=======================
hive 不需要进入什么内置数据库, 即可使用 show functions 命令列出所有内置的函数.
show functions; -- hive仅显示函数的名称, 没有参数和返回值信息.
desc function function_name ; -- 该命令能显示函数的具体用途.

impala 支持java/c++编写udf, impala也内置了很多udf, 查看内置udf的方法是, 先进入 _impala_builtins 数据库, 再使用 show functions 命令.
use _impala_builtins;
show functions;
implala 的 show functions 会显示完整的函数签名信息.

--=======================
几个常用的功能函数
--=======================
cast(expr AS type), 类型转换函数, 比如将number转成string, 或相反.
typeof(), 该函数可以用来检查其他函数返回值类型, hive 没有对应的函数.
version(), 返回 impalad 的版本.
pid(), client 连接到 impalad 的 pid.
user(), 返回连接连接 impalad 的 linux username.
effective_user(), 一般情况下和和 user() 结果相同, 如果启用了 delegation, effective_user() 返回代理 user id.
uuid(), 返回一个唯一的 guid 值.
impala 没有 sequence 概念, 但我们可以使用 concat(cast(unix_timestamp() as string),uuid()), 前面加上了时间戳, 可以保证大概的顺序.

--=======================
常用条件函数
--=======================
coalesce(type v1, type v2, ...) --返回第一个非null的参数
decode() -- 同Oracle的decode()函数
if(boolean condition, type ifTrue, type ifFalseOrNull) --如果第一参数为true,结果为第2个参数, 否则为第三个参数.
ifnull(type a, type ifNull) -- 同nvl().
isnull(type a, type ifNull) --同nvl().
nullif(expr1,expr2) -- 如果两参数相等, 返回null.
nullifzero(numeric_expr) --如果参数为0, 返回null.
nullvalue(expression) --如果为null, 返回true.
nvl(type a, type ifNull) --如果第一个参数为null, 结果为第二个参数, 否则为第一个参数.
nvl2(type a, type ifNull, type ifNotNull) --如果第一个参数为null, 结果为第2个参数, 否则为第3个参数.
zeroifnull(numeric_expr)
nonnullvalue(expression)
isfalse(boolean)
isnotfalse(boolean)
isnottrue(boolean)
istrue(boolean)

最新文章

  1. Linux CentOS 配置JDK环境
  2. ABP框架 - 验证数据传输对象
  3. 使用photoshop,把图片背景变成透明
  4. dzzoffice注册开启
  5. [MarsZ]Unity3d游戏开发之Unity3d全策划配置新手指引
  6. Hbase 计数器
  7. rman catalog (rman 恢复目录)
  8. Jquery操作-(多种实例)--未完
  9. DX9三角形顶点绕序的判断
  10. 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
  11. Python自学笔记-paramiko模块(Mr serven)
  12. java项目和java-web项目中文件和文件夹的含义
  13. 如何从GitHub下载csv文件
  14. windows安装并配置 nginx
  15. [转]PhpStorm快捷键大全
  16. 小程序微信支付java
  17. zoj 2818 Root of the Problem(数学思维题)
  18. 倒计时相关函数 php
  19. Java通过mysql-connector-java-8.0.11连接MySQL Server 8.0遇到的几个问题
  20. 数据结构基础(1)--数组C语言实现--动态内存分配

热门文章

  1. iis默认文档
  2. 分离式部署LNMP
  3. java 各种数据类型判断为空
  4. js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内
  5. TCHAR和CHAR类型的互转,string 转lpcwstr
  6. bzoj1791[IOI2008]Island岛屿(基环树+DP)
  7. 汇编 gdb调试
  8. 第三十二节,使用谷歌Object Detection API进行目标检测、训练新的模型(使用VOC 2012数据集)
  9. ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
  10. Linux 单引号和双引号的区别