--=======================
查看内置的函数
--=======================
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. 添加 [DataContract] 到 Entity Framework 6.0 POCO Template

    1. 添加using System.Runtime.Serialization; 找到这行 includeCollections ? (Environment.NewLine + "usin ...

  2. docker_flannel

    目录 一.安装etcd 安装 运行 验证 二.安装和配置 flannel 三. Docker 中使用 flannel 配置 Docker 连接 flannel 容器连接到 flannel 网络 四.f ...

  3. 654. Maximum Binary Tree

    654. Maximum Binary Tree 题目大意: 意思就是给你一组数,先选一个最大的作为根,这个数左边的数组作为左子树,右边的数组作为右子树,重复上一步. 读完就知道是递归了. 这个题真尼 ...

  4. 「NOI2014」购票 解题报告

    「NOI2014」购票 写完了后发现写的做法是假的...然后居然过了,然后就懒得管正解了. 发现需要维护凸包,动态加点,询问区间,强制在线 可以二进制分组搞,然后你发现在树上需要资瓷撤回,然后暴力撤回 ...

  5. Diagnostic Trouble Code诊断故障码

    所有电子控制单元(ECU)都会根据整车厂规范要求对相关故障进行记录,并储存在NVM(也称作EEPROM)相当于平常电脑上硬盘里.除故障代码外,还会记录故障发生时相关整车情况(如供电电压,环境温度 ...

  6. interface 界面&接口

    接口:接口(硬件类接口)是指同一计算机不同功能层之间的通信规则称为接口.接口(软件类接口)是指对协定进行定义的引用类型. 界面:窗口,显示 英文解释都是interface partly from ba ...

  7. zlib库交叉编译

    zlib-1.2.11 开发板:arm9 交叉编译器arm-fsl-linux-gnueabihf-gcc 编译方式: ./configure -h可以发现zlib并没有提供CC配置,所以 (1)ex ...

  8. 字符设备驱动(六)按键poll机制

    title: 字符设备驱动(六)按键poll机制 tags: linux date: 2018-11-23 18:57:40 toc: true --- 字符设备驱动(六)按键poll机制 引入 在字 ...

  9. CentOS 安装最新版本 Git

    查看默认 yum 源的 git版本 # 安装 yum install -y git # 查看版本 git version # git version 1.8.3.1 参看官网,CentOS 安装新版本 ...

  10. 设计模式---数据结构模式之迭代器模式(Iterate)

    一:概念 迭代模式是行为模式之一,它把对容器中包含的内部对象的访问委让给外部类,使用Iterator(遍历)按顺序进行遍历访问的设计模式. 在应用Iterator模式之前,首先应该明白Iterator ...