欢迎投稿

今日深度:

Hive函数,

Hive函数,


类型转化函数


返回类型 函数                             说明
指定“Type”   cast(expr as <Type>)    类型转换。例如将字符“1”转化为整数:cast('1' as bigint),如果转化失败返回NULL

条件函数


返回类型       函数 说明
T if(boolean testCondition, T valueTrue, T valueFalseorNull) 判断是否满足条件,满足返回第一个值,否则返回另外一个值
T coalesce(T v1, T v2, ...) 返回一组数据中,第一个不为null的值,如果都为null,则返回null
T case a when b then c[when d then e] else f end 当a=b,c;当a=d,e;否则f
T case when a then b [when c then d] then e end 当a时返回b,当c时返回d,否则为e

内置表生成函数


返回类型 函数 说明
数组 explode(Array<TYPE> a) 数组一条记录中有多个参数,将多个参数拆分,每个参数生成一列
  json_tuple  

explode示范
数组 SQL 返回
myCol[1,2] [3,4] select explode(myCol) as  myNewCol from myTable myNewCol
1
2
3
4

字符串函数


返回类型 函数 说明
int length(string A) 返回字符串的长度
string reverse(string A) 返回倒序字符串
string concat(string A, string B…) 连接多个字符串,合并为一个字符串,可以接受任意数量的输入字符串
string concat_ws(string SEP, string A, string B…) 链接多个字符串,字符串之间以指定的分隔符分开。
string substr(string A, int start) substring(string A, int start) 从文本字符串中指定的起始位置后的字符。
string substr(string A, int start, int len) substring(string A, int start, int len) 从文本字符串中指定的位置指定长度的字符。
string upper(string A) ucase(string A) 将文本字符串转换成字母全部大写形式
string lower(string A) lcase(string A) 将文本字符串转换成字母全部小写形式
string trim(string A) 删除字符串两端的空格,字符之间的空格保留
string ltrim(string A) 删除字符串左边的空格,其他的空格保留
string rtrim(string A) 删除字符串右边的空格,其他的空格保留
string regexp_replace(string A, string B, string C) 字符串A中的B字符被C字符替代
string regexp_extract(string subject, string pattern, int index) 通过下标返回正则表达式指定的部分。regexp_extract(‘foothebar’, ‘foo(.*?)(bar)’, 2) returns ‘bar.’
string parse_url(string urlString, string partToExtract [, string keyToExtract]) 返回URL指定的部分。parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1′, ‘HOST’) 返回:’facebook.com’
string get_json_object(string json_string, string path) select a.timestamp, get_json_object(a.appevents, ‘$.eventid’), get_json_object(a.appenvets, ‘$.eventname’) from log a;
string space(int n) 返回指定数量的空格
string repeat(string str, int n) 重复N次字符串
int ascii(string str) 返回字符串中首字符的数字值
string lpad(string str, int len, string pad) 返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从左侧填补。
string rpad(string str, int len, string pad) 返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从右侧填补。
array split(string str, string pat) 将字符串转换为数组。
int find_in_set(string str, string strList) 返回字符串str第一次在strlist出现的位置。如果任一参数为NULL,返回NULL;如果第一个参数包含逗号,返回0。
array<array<string>> sentences(string str, string lang, string locale) 将字符串中内容按语句分组,每个单词间以逗号分隔,最后返回数组。 例如sentences(‘Hello there! How are you?’) 返回:( (“Hello”, “there”), (“How”, “are”, “you”) )
array<struct<string,double>> ngrams(array<array<string>>, int N, int K, int pf) SELECT ngrams(sentences(lower(tweet)), 2, 100 [, 1000]) FROM twitter;
array<struct<string,double>> context_ngrams(array<array<string>>, array<string>, int K, int pf) SELECT context_ngrams(sentences(lower(tweet)), array(null,null), 100, [, 1000]) FROM twitter;

www.htsjk.Com true http://www.htsjk.com/hive/38520.html NewsArticle Hive函数, 类型转化函数 返回类型 函数                             说明 指定“Type”   cast(expr as Type)    类型转换。例如将字符“1”转化为整数:cast('1' as bigint),如果转化失败返...
相关文章
    暂无相关文章
评论暂时关闭