保定seo网站排名,沈阳响应式网站建设,wordpress 安装 500,备案空壳网站通知Hive内置函数大全 目录 Hive内置函数大全
1.复合类型构造函数
2 复合类型操作符
3 数值计算函数
4 日期函数
5 条件函数
6 字符串函数
7 汇总统计函数#xff08;UDAF#xff09;
8 表格生成函数(UDTF)
9 类型转换函数
10 数学函数
11 数学运算
12 逻辑运算
13… Hive内置函数大全 目录 Hive内置函数大全
1.复合类型构造函数
2 复合类型操作符
3 数值计算函数
4 日期函数
5 条件函数
6 字符串函数
7 汇总统计函数UDAF
8 表格生成函数(UDTF)
9 类型转换函数
10 数学函数
11 数学运算
12 逻辑运算
13 排序函数
14 混合函数
15 XPath解析XML函数 1.复合类型构造函数
函数描述举例mapmap(key0, value0, key1, value1…)——使用给定的键/值对创建映射structstruct(col1, col2, col3…)——用给定的字段值创建一个struct。STRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素named_structnamed_struct(name1, val1, name2, val2…)——用给定的字段名和值创建一个结构体使用给定的表达式构造一个指定列名的 struct 数据结构arrayarray(n0, n1…)——用给定的元素创建一个数组create_unioncreate_union (tag, val1, val2, …)使用给定的 tag 和表达式构造一个 uniontype 数据结构。tag 表示使用第 tag 个 表达式作为 uniontype 的 value
2 复合类型操作符
函数描述举例Map[key];size(Mapk .V)返回 map 结构 M 中 key 对应的 value,没有对应的 key 返回 NULL;返回map类型的长度 S.x返回 struct 结构 S 中名为 x 的元素。 A[n];size(Array)返回数组 A 中第 n 个索引的元素值,数组的起始下标为0;返回array类型的长度array_contains(array, value)如果数组包含值则返回TRUE。
3 数值计算函数
函数描述举例round(x[,d])四舍五入(x[ d])——将x四舍五入到d的小数位floor(x)求不大于x的最大整数向下取整函数ceil(x)ceiling(x)求不小于x的最小整数向上取整函数rand([seed])返回0到1之间的伪随机数exp(x)返回e的x次方log10(x)返回以10为底的x的对数log2(x)返回以2为底的x的对数log([b], x)返回以b为底的x的对数pow(x1, x2),power(x1, x2)取x1的x2次方sqrt(x)开平方函数,返回√xbin(n)返回n的二进制hex(n, bin, or str)将参数转换为十六进制 如果参数是字符串则为字符串中的每个字符返回两个十六进制数字。 如果参数是数字或二进制则返回十六进制表示 unhex(str)将十六进制参数转换为二进制conv(num, from_base, to_base)将num从from_base转换为to_base如果to_base是负数则将num视为带符号整数否则将其视为无符号整数。abs(x)返回x的绝对值pmoda,ba对b取模sin(x)返回sinx (x以弧度为单位)asin(x)返回arcsin (x)如果-1x1否则返回NULLcos(x)返回cosx (x以弧度为单位)acos(x)返回arccos (x)如果-1x1否则返回NULLpositive(x)返回xnegative(x)返回-x
4 日期函数
函数描述举例from_unixtime(unix_time, format)UNIX时间戳转日期函数返回指定格式的unix_timeunix_timestamp(date[, pattern])将时间转换为数字获取当前指定UNIX时间戳函数current_timestamp获取当前UNIX时间戳函数to_date(expr)提取date或datetime表达式expr的date部分日期时间转日期函数year(param)返回日期/时间戳/间隔的yearmonth(param)返回日期/时间戳/间隔的monthday(param)返回日期/时间戳/间隔的dayhour(param)返回日期/时间戳/间隔的hourminute(param)返回日期/时间戳/间隔的minutesecond(param)返回日期/时间戳/间隔的secondweekofyear(date) 返回给定日期的年份的星期。一周被认为从周一开始第一周是第3天的第一周。 datediff(date1, date2)返回date1和date2之间的天数date_add(start_date, num_days)日期增加函数,返回start_date之后的num_days日期。date_sub日期减少函数返回start_date之前的num_days日期。
5 条件函数
函数描述举例IF(expr1,expr2,expr3)如果expr1为真(expr1 0和expr1 NULL)则If()返回expr2;否则返回expr3。IF()返回一个数值或字符串值这取决于使用它的上下文。CASE ① CASE WHEN a THEN b [WHEN cTHEN d]... [ELSE e] END 这种casecase后面没有表达式用于处理单个列的查询结果 ②CASE a WHEN b THEN c [WHENd THEN e]... [ELSE f] END 这种CASE A和if差不多如果a等于b那么返回c如果a等于d那么返回e否则返回f COALESCE(T v1, T v2, …)返回参数中的第一个非空值如果所有值都为NULL那么返回NULL
6 字符串函数
函数描述举例ascii(str)返回str的第一个字符的数值base64(bin)将参数从二进制转换为以64为基数的字符串concat(str1, str2, ... strN 返回str1、str2、…strN或concat(bin1, bin2…返回二进制数据bin1, bin2…binN 如果任何参数为空则返回NULL。 concat_ws(separator, [string | array(string)])返回由分隔符分隔的字符串的连接。format_number(X, D or F)将数字X格式化为#######。四舍五入到D位小数或者使用指定的F格式进行格式化并将结果作为字符串返回。如果D为0则结果没有小数点或小数部分。这应该像MySQL的格式一样工作substr(str, pos[, len]),substring(str, pos[, len])返回从pos开始的长度为len的字节数组片段instr(str, substr)返回str中第一次出现substr的索引length(str | binary) 返回二进制数据中的str长度或字节数locate(substr, str[, pos])返回位置pos之后str中第一次出现substr的位置printf(String format, Obj... args)该函数可以根据printf样式的格式字符串格式化字符串str_to_map(text, delimiter1, delimiter2)使用两个分隔符将文本分割为键值对。第一个分隔符分隔对第二个分隔符分隔键和值。如果只给出一个参数则使用默认分隔符:作为delimiter1:作为delimiter2。unbase64(str)将参数从基本的64字符串转换为二进制upper(str),ucase(str)返回所有字符都更改为大写的strlower(str),lcase(str)返回所有字符都更改为小写的strtrim(str)从str中删除前导和尾随空格字符ltrim(str)从str中删除前导空格字符rtrim(str)从str中删除尾随空格字符regexp_replace(str, regexp, rep)用rep替换所有匹配regexp的str子字符串regexp_extract(str, regexp[, idx])提取匹配regexp的组parse_url(url, partToExtract[, key])从URL中提取一部分get_json_object(json_txt, path)根据指定的json路径从json字符串中提取json对象并返回提取的json对象的json字符串。如果输入的json字符串无效则返回null。space(n)返回n个空格repeat(str, n)重复str n次lpad(str, len, pad)返回str用pad左填充到len的长度rpad(str, len, pad)返回str右填充pad到len的长度split(str, regex) 拆分匹配正则表达式的str find_in_set(str,str_array)返回str_array中第一个出现的str其中str_array是一个逗号分隔的字符串。如果其中一个参数为空则返回null。如果第一个参数有逗号则返回0。sentences(str, lang, country)将str拆分为句子数组其中每个句子都是单词数组。“lang”和“country”参数是可选的如果省略则使用默认
7 汇总统计函数UDAF
函数描述①count(*)②count(expr)③count(DISTINCT expr[, expr...])个数统计①返回检索到的行总数包括包含空值的行②返回提供的表达式为非空的行数③返回所提供的表达式惟一且非空的行数。sum(x)总和统计返回一组数字的和avg(x)平均值统计min(x)最小值统计max(x)最大值统计var_pop(x)非空集合总体变量函数var_samp(x)非空集合样本变量函数stddev_pop(x)总体标准偏离函数stddev_samp样本标准偏离函数percentile(expr, pc)中位数函数,返回expr在pc上的百分位数(范围:[0,1])。pc可以是双数组或双数组percentile_approx(expr, pc, [nb])近似中位数函数histogram_numeric(expr, nb)直方图collect_set(x)集合去重数,返回一组消除了重复元素的对象collect_list(x)集合不去重函数,返回具有重复项的对象列表
8 表格生成函数(UDTF)
函数描述explode(a)将数组a的元素分隔为多行或将映射的元素分隔为多行和多列
9 类型转换函数
函数描述binary(a)将a转换为二进制cast基础类型之间强制转换10 数学函数
函数描述等值比较等值比较和!不等值比较小于比较小于等于比较大于比较IS NULL空值判断IS NOT NULL非空判断LIKELIKE比较RLIKEJAVA的LIKE操作REGEXPREGEXP操作如果str匹配REGEXP则返回true否则返回false
11 数学运算
函数描述加法操作–减法操作*乘法操作/除法操作%取余操作位与操作|位或操作^位异或操作~位取反操作
12 逻辑运算
函数描述AND 、逻辑与操作OR 、||逻辑或操作NOT、!逻辑非操作
13 排序函数 rank() 相同的排序是一样的但是下一个小的会跳着排序比如 等级 排序 dense_rank() 相同的排序相同下一个小的会紧挨着排序这样总个数是相对减少的适合求某些指标前几个等级的个数。 row_number() 顺序排序总个数是不变的适合求某些值的前几名
14 混合函数
函数描述java_method(class,method[,arg1[,arg2..]])使用反射调用方法reflect(class,method[,arg1[,arg2..]])使用反射调用方法hash(a1, a2, ...)返回参数的哈希值15 XPath解析XML函数
函数描述xpath(xml, xpath)返回匹配xpath表达式的xml节点中的值的字符串数组xpath_string(xml, xpath)返回匹配xpath表达式的第一个xml节点的文本内容xpath_boolean(xml, xpath)计算布尔xpath表达式 xpath_short(xml, xpath) xpath_int, xpath_longxpath_float, xpath_double, xpath_number 返回与xpath表达式匹配的short...