--=======================
查看内置的函数
--=======================
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)

Impala系列: Impala常用的功能函数的更多相关文章

  1. Impala系列:Impala查询优化

    ==========================理解 mem_limit 参数==========================set mem_limit=-1b #取消内存限制set mem_ ...

  2. VSPackge插件系列:常用IDE功能的封装

    继上一篇VSPackge插件系列简单介绍如何正确的获取DTE之后,就一直没发VSPackge插件系列的文章了,最近同事也想了解如何在代码中与VS交互,特发一篇文章示例一些简单功能是如何调用,也以备以后 ...

  3. 常用js功能函数汇总(持续更新ing)

    ////////////////////获取元素属性/////////////////// function getStyle(obj,name) { if(obj.currentStyle) { r ...

  4. impala系列:impala特有的操作符

    --=======================Impala 特有的操作符--=======================ILIKE 操作符, 忽略大小写的 like 操作符.REGEXP 操作符 ...

  5. 常用js功能函数集合

    1.获取随机时间戳 function uniqueId(){         var a=Math.random,b=parseInt;         return Number(new Date( ...

  6. 1.常用turtle功能函数

    #turtle常用命令汇总,括号中的参数仅仅作为举例使用,可根据需要修改 #设置画面背景色 turtle.bgcolor("black") #设置窗口大小和在屏幕上的坐标 turt ...

  7. SQL 中常用的功能函数,自定义的功能行数

    在SQL Server指定的数据库中,有Programmability目录,在这个目录下,有存储过程,有功能函数. set ANSI_NULLS ON set QUOTED_IDENTIFIER ON ...

  8. impala系列: 时间函数

    --=======================时间函数--======================= --当前时间戳now()current_timestamp() --当前时间戳相对于 li ...

  9. Python常用功能函数总结系列

    Python常用功能函数系列总结(一) 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 Python常用功能函数系列总结(二) 常用函数 ...

随机推荐

  1. Hdoj 1789 Doing Homework again 题解

    Problem Description Ignatius has just come back school from the 30th ACM/ICPC. Now he has a lot of h ...

  2. bzoj1066 蜥蜴 (dinic)

    最大流板子题. 对于每根柱子,建两个点ai,bi,建边(ai,bi,柱子高度) 对于距离不超过d的两根柱子i,j,建边(bi,aj,inf) 对于起始位置在i的每个蜥蜴,建边(S,ai,1) 对于能跳 ...

  3. 【linux】linux查找功能

    linux系统中我们经常会需要查找某些文件,当有时候我们不确定一个文件的位置,比如某服务配置文件具体路径,自己没有头绪去寻找的话会很难找,也会耽误时间.linux就提供了很多命令,find,locat ...

  4. poj3259Wormholes (Bellman_Ford/SPFA/Floyed算法判断是否存在负环)

    题目链接:http://poj.org/problem?id=3259 题目大意:一个图,有n个顶点,其中有m条边是双向的且权值为为正,w条边是单向的且权值为负,判断途中是否存在负环,如果有输出YES ...

  5. Jupyter ~ 像写文章般的 Coding (附:同一个ipynb文件,执行多语言代码)

    前面用了好久Notebook来交互式编程了,这次说说几个其他的选项: Notebook Markdown 这次选Markdown模式(关于Markdown基础可以看之前写的Markdown Base) ...

  6. Python中何时使用断言 assert

    使用断言的最佳时机偶尔会被提起,通常是因为有人误用,因此我觉得有必要写一篇文章来阐述一下什么时候应该用断言,为什么应该用,什么时候不该用. 对那些没有意识到用断言的最佳时机的人来说,Python的断言 ...

  7. String:字符串常量池

    String:字符串常量池 作为最基础的引用数据类型,Java 设计者为 String 提供了字符串常量池以提高其性能,那么字符串常量池的具体原理是什么,我们带着以下三个问题,去理解字符串常量池: 字 ...

  8. 如何在以太坊上搭建一个Dapp?

    原创: 前哨小兵甲 区块链前哨 昨天 策划|Tina作者|Mahesh Murthy俗话说,实践出真知!对于开发人员来说,最好的学习办法就是亲自动手做一个小项目.所以,接下来我们将会以一个投票程序为例 ...

  9. js 日期比较大小,js判断日期是否在区间内,js判断时间段是否在另外一个时间段内

    /** * 日期解析,字符串转日期 * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16 * @returns {Date} 返回对应的日期对 ...

  10. linux系统调用之网络管理2

    socketcall socket系统调用 socket 建立socket bind 绑定socket到端口 connect 连接远程主机 accept 响应socket连接请求 send 通过soc ...