hive> select concat_ws('|',array('a','b','c')) from iteblog;
OK
a|b|c
1
2
3
小数位格式化成字符串函数:format_number
语法: format_number(number x, int d)
返回值: string
说明:将数值 x 的小数位格式化成 d 位,四舍五入
hive> select format_number(5.23456,3) from iteblog;
OK
5.235
1
2
3
字符串截取函数:substr,substring
语法: substr(string A, int start),substring(string A, int start)
返回值: string
说明:返回字符串A从start位置到结尾的字符串
hive> select substr('abcde',3) from iteblog;
cde
hive> select substring('abcde',3) from iteblog;
cde
hive> select substr('abcde',-1) from iteblog; (和ORACLE相同)
e
1
2
3
4
5
6
字符串截取函数:substr,substring
语法: substr(string A, int start, int len),substring(string A, int start, int len)
返回值: string
说明:返回字符串A从start位置开始,长度为len的字符串
hive> select substr('abcde',3,2) from iteblog;
cd
hive> select substring('abcde',3,2) from iteblog;
cd
hive>select substring('abcde',-2,2) from iteblog;
de
1
2
3
4
5
6
字符串查找函数:instr
语法: instr(string str, string substr)
返回值: int
说明:返回字符串 substr 在 str 中首次出现的位置
hive> select instr('abcdf','df') from iteblog;
OK
4
1
2
3
字符串长度函数:length
语法: length(string A)
返回值: int
说明:返回字符串A的长度
hive> select length('abcedfg') from iteblog;
7
1
2
字符串查找函数:locate
语法: locate(string substr, string str[, int pos])
返回值: int
说明:返回字符串 substr 在 str 中从 pos 后查找,首次出现的位置
hive> select locate('a','abcda',1) from iteblog;
OK
1
Time taken: 0.391 seconds, Fetched: 1 row(s)
hive> select locate('a','abcda',2) from iteblog;
OK
5
Time taken: 0.406 seconds, Fetched: 1 row(s)
1
2
3
4
5
6
7
8
字符串格式化函数:printf
语法: printf(String format, Obj… args)
返回值: string
说明:将指定对象用 format 格式进行格式化.
hive> select unbase64('Y2hhcmxlcw==') from iteblog;
OK
charles
1
2
3
字符串转大写函数:upper,ucase
语法: upper(string A) ucase(string A)
返回值: string
说明:返回字符串A的大写格式
hive> select upper('abSEd') from iteblog;
ABSED
hive> select ucase('abSEd') from iteblog;
ABSED
1
2
3
4
字符串转小写函数:lower,lcase
语法: lower(string A) lcase(string A)
返回值: string
说明:返回字符串A的小写格式
hive> select lower('abSEd') from iteblog;
absed
hive> select lcase('abSEd') from iteblog;
absed
1
2
3
4
去空格函数:trim
语法: trim(string A)
返回值: string
说明:去除字符串两边的空格
hive> select trim(' abc ') from iteblog;
abc
1
2
左边去空格函数:ltrim
语法: ltrim(string A)
返回值: string
说明:去除字符串左边的空格
hive> select ltrim(' abc ') from iteblog;
abc
1
2
右边去空格函数:rtrim
语法: rtrim(string A)
返回值: string
说明:去除字符串右边的空格
hive> select rtrim(' abc ') from iteblog;
abc
1
2
正则表达式替换函数:regexp_replace
语法: regexp_replace(string A, string B, string C)
返回值: string
说明:将字符串A中的符合java正则表达式B的部分替换为C。注意,在有些情况下要使用转义字符,类似oracle中的regexp_replace函数。
hive> select sentences('hello word!hello hive,hi hive,hello hive') from iteblog;
OK
[["hello","word"],["hello","hive","hi","hive","hello","hive"]]
1
2
3
分词后统计一起出现频次最高的 TOP-K
语法: ngrams(array<array>, int N, int K, int pf)
返回值: array<struct<string,double>>
说明:与 sentences()函数一起使用,分词后,统计分词结果中一起出现频次最高的
TOP-K 结果