zoukankan      html  css  js  c++  java
  • Impala系列: Impala常用的功能函数

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

  • 相关阅读:
    Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结
    [Beautifulzzzz的博客目录] 快速索引点这儿O(∩_∩)O~~,红色标记的是不错的(⊙o⊙)哦~
    OpenCV学习记录之摄像头调用
    很不错的python 机器学习博客
    华清远见Linux设备驱动(每章小结)
    Linux 查看服务器开放的端口号
    MySQL简单优化
    数据探索之数据质量分析
    两张图简说代理服务器和反向代理服务器
    集合类中嵌套定义和引用的举例
  • 原文地址:https://www.cnblogs.com/harrychinese/p/impala_util_functions.html
Copyright © 2011-2022 走看看