Hive 常用查询函数

NVL

NVL( string1, replace_with):给值为NULL的数据赋值:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值;如果两个参数都为NULL ,则返回NULL。
Hive 常用查询函数

CASE WHEN

数据
Hive 常用查询函数
计算
Hive 常用查询函数
结果:
Hive 常用查询函数

行转列

  • CONCAT(string A/col, string B/col…):返回输入字符串连接后的结果,支持任意个输入字符串;
  • CONCAT_WS(separator, str1, str2,…):特殊形式的 CONCAT()。第一个参数是剩余参数间的分隔符。分隔符可以是与剩余参数一样的字符串。如果分隔符是 NULL,返回值也将为 NULL。这个函数会跳过分隔符参数后的任何 NULL 和空字符串。分隔符将被加到被连接的字符串之间;
  • COLLECT_SET(col):将某字段的值进行去重汇总,产生array类型字段。本函数只接受基本数据类型。
    Hive 常用查询函数

列转行

  • EXPLODE(col):将hive一列中复杂的array或者map结构拆分成多行。
  • LATERAL VIEW udtf(expression) tableAlias AS columnAlias
    LATERAL VIEW(侧写)用于和split, explode等UDTF一起使用,它能够将一列数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。
    示例:
    数据
    aa abc,acb,cba,bac
    bb acb,bac,cab
    cc bca,bac,acb
    dd cab,acb,bca
    创建表:
    Hive 常用查询函数
    查询
    Hive 常用查询函数