Hive构建数据仓库常用的函数
concat()函数。
concat()函数用于连接字符串,在连接字符串时,只要其中一个字符串是NULL,结果就返回NULL。
concat_ws()函数。
concat_ws()函数同样用于连接字符串,在连接字符串时,只要有一个字符串不是NULL,结果就不会返回NULL。concat_ws()函数需要指定分隔符。
str_to_map()函数。
● 语法描述。str_to_map(VARCHAR text,VARCHAR listDelimiter,VARCHARkeyValueDelimiter)。
● 功能描述。使用listDelimiter将text分隔成key-value对,然后使用keyValueDelimiter分隔每个keyvalue对,并组装成MAP返回。默认listDelimiter为“,”,keyValueDelimiter为“=”。
nvl()函数
基本语法:nvl(表达式1,表达式2)。如果表达式1为空值,则nvl()函数返回表达式2的值,否则返回表达式1的值。nvl()函数的作用是把一个空值(null)转换成一个实际的值。其表达式的数据类型可以是数字型、字符型和日期型。需要注意的是,表达式1和表达式2的数据类型必须相同。
日期处理函数
1)date_format()函数(根据格式整理日期)
hive> select date_format('2020-03-18',''yyyy-MM');
hive> 2020-03
2)date_add()函数(加减日期)
hive> select date_add('2020-03-11',1);
hive> 2020-03-12
3)next_day()函数
(1)获取当前日期的下一个星期一。
hive> select next_day('2020-03-13','MO');
hive> 2020-03-16
(2)获取当前周的星期一。
hive> select date_add(next_day('2020-03-13','MO'),-7);
hive> 2020-03-11
4)last_day()函数(获取当月最后一天的日期)