hive中位数函数
- 格式:docx
- 大小:12.35 KB
- 文档页数:1
目录一、关系运算: (4)1. 等值比较: = (4)2. 不等值比较: <> (4)3. 小于比较: < (4)4. 小于等于比较: <= (4)5. 大于比较: > (5)6. 大于等于比较: >= (5)7. 空值判断: IS NULL (5)8. 非空判断: IS NOT NULL (6)9. LIKE比较: LIKE (6)10. JAVA的LIKE操作: RLIKE (6)11. REGEXP操作: REGEXP (7)二、数学运算: (7)1. 加法操作: + (7)2. 减法操作: - (7)3. 乘法操作: * (8)4. 除法操作: / (8)5. 取余操作: % (8)6. 位与操作: & (9)7. 位或操作: | (9)8. 位异或操作: ^ (9)9.位取反操作: ~ (10)三、逻辑运算: (10)1. 逻辑与操作: AND (10)2. 逻辑或操作: OR (10)3. 逻辑非操作: NOT (10)四、数值计算 (11)1. 取整函数: round (11)2. 指定精度取整函数: round (11)3. 向下取整函数: floor (11)4. 向上取整函数: ceil (12)5. 向上取整函数: ceiling (12)6. 取随机数函数: rand (12)7. 自然指数函数: exp (13)8. 以10为底对数函数: log10 (13)9. 以2为底对数函数: log2 (13)10. 对数函数: log (13)11. 幂运算函数: pow (14)12. 幂运算函数: power (14)13. 开平方函数: sqrt (14)14. 二进制函数: bin (14)15. 十六进制函数: hex (15)16. 反转十六进制函数: unhex (15)17. 进制转换函数: conv (15)18. 绝对值函数: abs (16)19. 正取余函数: pmod (16)20. 正弦函数: sin (16)21. 反正弦函数: asin (16)22. 余弦函数: cos (17)23. 反余弦函数: acos (17)24. positive函数: positive (17)25. negative函数: negative (17)五、日期函数 (18)1. UNIX时间戳转日期函数: from_unixtime (18)2. 获取当前UNIX时间戳函数: unix_timestamp (18)3. 日期转UNIX时间戳函数: unix_timestamp (18)4. 指定格式日期转UNIX时间戳函数: unix_timestamp (18)5. 日期时间转日期函数: to_date (19)6. 日期转年函数: year (19)7. 日期转月函数: month (19)8. 日期转天函数: day (19)9. 日期转小时函数: hour (20)10. 日期转分钟函数: minute (20)11. 日期转秒函数: second (20)12. 日期转周函数: weekofyear (20)13. 日期比较函数: datediff (21)14. 日期增加函数: date_add (21)15. 日期减少函数: date_sub (21)六、条件函数 (21)1. If函数: if (21)2. 非空查找函数: COALESCE (22)3. 条件判断函数:CASE (22)4. 条件判断函数:CASE (22)七、字符串函数 (23)1. 字符串长度函数:length (23)2. 字符串反转函数:reverse (23)3. 字符串连接函数:concat (23)4. 带分隔符字符串连接函数:concat_ws (23)5. 字符串截取函数:substr,substring (24)6. 字符串截取函数:substr,substring (24)7. 字符串转大写函数:upper,ucase (24)8. 字符串转小写函数:lower,lcase (25)9. 去空格函数:trim (25)10. 左边去空格函数:ltrim (25)11. 右边去空格函数:rtrim (25)12. 正则表达式替换函数:regexp_replace (26)13. 正则表达式解析函数:regexp_extract (26)14. URL解析函数:parse_url (26)15. json解析函数:get_json_object (27)16. 空格字符串函数:space (27)17. 重复字符串函数:repeat (27)18. 首字符ascii函数:ascii (28)19. 左补足函数:lpad (28)20. 右补足函数:rpad (28)21. 分割字符串函数: split (28)22. 集合查找函数: find_in_set (29)八、集合统计函数 (29)1. 个数统计函数: count (29)2. 总和统计函数: sum (29)3. 平均值统计函数: avg (30)4. 最小值统计函数: min (30)5. 最大值统计函数: max (30)6. 非空集合总体变量函数: var_pop (30)7. 非空集合样本变量函数: var_samp (31)8. 总体标准偏离函数: stddev_pop (31)9. 样本标准偏离函数: stddev_samp (31)10.中位数函数: percentile (31)11. 中位数函数: percentile (31)12. 近似中位数函数: percentile_approx (32)13. 近似中位数函数: percentile_approx (32)14. 直方图: histogram_numeric (32)九、复合类型构建操作 (32)1. Map类型构建: map (32)2. Struct类型构建: struct (33)3. array类型构建: array (33)十、复杂类型访问操作 (33)1. array类型访问: A[n] (33)2. map类型访问: M[key] (34)3. struct类型访问: S.x (34)十一、复杂类型长度统计函数 (34)1. Map类型长度函数: size(Map<K.V>) (34)2. array类型长度函数: size(Array<T>) (34)3. 类型转换函数 (35)一、关系运算:1. 等值比较: =语法:A=B操作类型:所有基本类型描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1=1;12. 不等值比较: <>语法: A <> B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <> 2;13. 小于比较: <语法: A < B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 < 2;14. 小于等于比较: <=语法: A <= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 <= 1;15. 大于比较: >语法: A > B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 2 > 1;16. 大于等于比较: >=语法: A >= B操作类型: 所有基本类型描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where 1 >= 1;1注意:String的比较要注意(常用的时间比较可以先to_date之后再比较)hive> select * from lxw_dual;OK2011111209 00:00:00 2011111209hive> select a,b,a<b,a>b,a=b from lxw_dual;2011111209 00:00:00 2011111209 false true false7. 空值判断: IS NULL语法: A IS NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE举例:hive> select 1 from lxw_dual where null is null;18. 非空判断: IS NOT NULL语法: A IS NOT NULL操作类型: 所有类型描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE举例:hive> select 1 from lxw_dual where 1 is not null;19. LIKE比较: LIKE语法: A LIKE B操作类型: strings描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。
Hive函数⼤全-完整版Hive函数⼤全–完整版现在虽然有很多SQL ON Hadoop的解决⽅案,像Spark SQL、Impala、Presto等等,但就⽬前来看,在基于Hadoop的⼤数据分析平台、数据仓库中,Hive仍然是不可替代的⾓⾊。
尽管它的相应延迟⼤,尽管它启动MapReduce的时间相当长,但是它太⽅便、功能太强⼤了,做离线批量计算、ad-hoc查询甚⾄是实现数据挖掘算法,⽽且,和HBase、Spark都能整合使⽤。
如果你是做⼤数据分析平台和数据仓库相关的,就⽬前来说,我建议,Hive是必须的。
很早之前整理过Hive的函数,不过是基于0.7版本的,这两天抽时间更新了下,基于Hive0.13,⽐之前的完整了许多。
整理成⽂档,希望能给Hive初学者和Hive使⽤者有所帮助。
Hive⾃带的UDF函数⾮常多,整理出来有40多页。
下载地址在⽂章最后⾯。
如果该⽂档对你的学习和⼯作有所帮助,那么请多多⽀持我的博客。
Hive函数⼤全⽬录:⼀、关系运算:1. 等值⽐较: =2. 等值⽐较:<=>3. 不等值⽐较: <>和!=4. ⼩于⽐较: <5. ⼩于等于⽐较: <=6. ⼤于⽐较: >7. ⼤于等于⽐较: >=8. 区间⽐较9. 空值判断: IS NULL10. ⾮空判断: IS NOT NULL10. LIKE⽐较: LIKE11. JAVA的LIKE操作: RLIKE12. REGEXP操作: REGEXP⼆、数学运算:1. 加法操作: +2. 减法操作: –3. 乘法操作: *4. 除法操作: /5. 取余操作: %6. 位与操作: &7. 位或操作: |8. 位异或操作: ^9.位取反操作: ~三、逻辑运算:1. 逻辑与操作: AND 、&&2. 逻辑或操作: OR 、||3. 逻辑⾮操作: NOT、!四、复合类型构造函数1. map结构:map2. struct结构:struct3. named_struct结构:named_struct4. array结构:array5. create_union:create_union五、复合类型操作符1. 获取array中的元素:A[n]2. 获取map中的元素:M[key]3. 获取struct中的元素S.s六、数值计算函数1. 取整函数: round2. 指定精度取整函数: round3. 向下取整函数: floor4. 向上取整函数: ceil5. 向上取整函数: ceiling6. 取随机数函数: rand7. ⾃然指数函数: exp8. 以10为底对数函数: log109. 以2为底对数函数: log210. 对数函数: log11. 幂运算函数: pow12. 幂运算函数: power13. 开平⽅函数: sqrt14. ⼆进制函数: bin15. ⼗六进制函数: hex16. 反转⼗六进制函数: unhex17. 进制转换函数: conv18. 绝对值函数: abs19. 正取余函数: pmod20. 正弦函数: sin21. 反正弦函数: asin22. 余弦函数: cos23. 反余弦函数: acos24. positive函数: positive25. negative函数: negative七、集合操作函数1. map类型⼤⼩:size2. array类型⼤⼩:size3. 判断元素数组是否包含元素:array_contains4. 获取map中所有value集合5. 获取map中所有key集合6. 数组排序⼋、类型转换函数1. ⼆进制转换:binary2. 基础类型之间强制转换:cast九、⽇期函数1. UNIX时间戳转⽇期函数: from_unixtime2. 获取当前UNIX时间戳函数: unix_timestamp3. ⽇期转UNIX时间戳函数: unix_timestamp4. 指定格式⽇期转UNIX时间戳函数: unix_timestamp5. ⽇期时间转⽇期函数: to_date6. ⽇期转年函数: year7. ⽇期转⽉函数: month8. ⽇期转天函数: day9. ⽇期转⼩时函数: hour10. ⽇期转分钟函数: minute11. ⽇期转秒函数: second12. ⽇期转周函数: weekofyear13. ⽇期⽐较函数: datediff14. ⽇期增加函数: date_add15. ⽇期减少函数: date_sub⼗、条件函数1. If函数: if2. ⾮空查找函数: COALESCE3. 条件判断函数:CASE4. 条件判断函数:CASE⼗⼀、字符串函数1. 字符ascii码函数:ascii2. base64字符串3. 字符串连接函数:concat4. 带分隔符字符串连接函数:concat_ws5. 数组转换成字符串的函数:concat_ws6. ⼩数位格式化成字符串函数:format_number7. 字符串截取函数:substr,substring8. 字符串截取函数:substr,substring9. 字符串查找函数:instr10. 字符串长度函数:length11. 字符串查找函数:locate12. 字符串格式化函数:printf13. 字符串转换成map函数:str_to_map14. base64解码函数:unbase64(string str)15. 字符串转⼤写函数:upper,ucase16. 字符串转⼩写函数:lower,lcase17. 去空格函数:trim18. 左边去空格函数:ltrim19. 右边去空格函数:rtrim20. 正则表达式替换函数:regexp_replace21. 正则表达式解析函数:regexp_extract22. URL解析函数:parse_url23. json解析函数:get_json_object24. 空格字符串函数:space25. 重复字符串函数:repeat26. 左补⾜函数:lpad27. 右补⾜函数:rpad28. 分割字符串函数: split29. 集合查找函数: find_in_set30. 分词函数:sentences31. 分词后统计⼀起出现频次最⾼的TOP-K32. 分词后统计与指定单词⼀起出现频次最⾼的TOP-K⼗⼆、混合函数1. 调⽤Java函数:java_method2. 调⽤Java函数:reflect3. 字符串的hash值:hash⼗三、XPath解析XML函数1. xpath2. xpath_string3. xpath_boolean4. xpath_short, xpath_int, xpath_long5. xpath_float, xpath_double, xpath_number⼗四、汇总统计函数(UDAF)1. 个数统计函数: count2. 总和统计函数: sum3. 平均值统计函数: avg4. 最⼩值统计函数: min5. 最⼤值统计函数: max6. ⾮空集合总体变量函数: var_pop7. ⾮空集合样本变量函数: var_samp8. 总体标准偏离函数: stddev_pop9. 样本标准偏离函数: stddev_samp10.中位数函数: percentile11. 中位数函数: percentile12. 近似中位数函数: percentile_approx13. 近似中位数函数: percentile_approx14. 直⽅图: histogram_numeric15. 集合去重数:collect_set16. 集合不去重函数:collect_list⼗五、表格⽣成函数Table-Generating Functions (UDTF)1. 数组拆分成多⾏:explode2. Map拆分成多⾏:explode。
hive函数大全1.内置运算符1.1关系运算符运算符类型说明A =B 原始类型如果A与B相等,返回TRUE,否则返回FALSEA ==B 无失败,因为无效的语法。
SQL使用”=”,不使用”==”。
A <>B 原始类型如果A不等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A <B 原始类型如果A小于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A <=B 原始类型如果A小于等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A >B 原始类型如果A大于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A >=B 原始类型如果A大于等于B返回TRUE,否则返回FALSE。
如果A或B值为”NULL”,结果返回”NULL”。
A IS NULL 所有类型如果A值为”NULL”,返回TRUE,否则返回FALSEA IS NOT NULL 所有类型如果A值不为”NULL”,返回TRUE,否则返回FALSEA LIKEB 字符串如果A或B值为”NULL”,结果返回”NULL”。
字符串A与B通过sql 进行匹配,如果相符返回TRUE,不符返回FALSE。
B字符串中的”_”代表任一字符,”%”则代表多个任意字符。
例如:(…foobar‟ like …foo‟)返回FALSE,(…foobar‟ like …foo_ _ _‟或者…foobar‟ like …foo%‟)则返回TUREA RLIKEB 字符串如果A或B值为”NULL”,结果返回”NULL”。
字符串A与B通过java 进行匹配,如果相符返回TRUE,不符返回FALSE。
例如:(…foobar‟rlike …foo‟)返回FALSE,(‟foobar‟rlike …^f.*r$‟)返回TRUE。
Hive常⽤函数⼤全(窗⼝函数、分析函数)1、相关函数1.1 窗⼝函数FIRST_VALUE:取分组内排序后,截⽌到当前⾏,第⼀个值LAST_VALUE:取分组内排序后,截⽌到当前⾏,最后⼀个值LEAD(col,n,DEFAULT) :⽤于统计窗⼝内往后第n⾏值。
第⼀个参数为列名,第⼆个参数为往下第n⾏(可选,默认为1),第三个参数为默认值(当往下第n⾏为NULL时候,取默认值,如不指定,则为NULL)LAG(col,n,DEFAULT) :⽤于统计窗⼝内往前第n⾏值。
第⼀个参数为列名,第⼆个参数为往上第n⾏(可选,默认为1),第三个参数为默认值(当往上第n⾏为NULL时候,取默认值,如不指定,则为NULL)1.2 OVER从句1、使⽤标准的聚合函数COUNT、SUM、MIN、MAX、AVG2、使⽤PARTITION BY语句,使⽤⼀个或者多个原始数据类型的列3、使⽤PARTITION BY与ORDER BY语句,使⽤⼀个或者多个数据类型的分区或者排序列4、使⽤窗⼝规范,窗⼝规范⽀持以下格式:(ROWS | RANGE) BETWEEN (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING | CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING) (ROWS | RANGE) BETWEEN CURRENT ROW AND (CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)(ROWS | RANGE) BETWEEN [num] FOLLOWING AND (UNBOUNDED | [num]) FOLLOWING5、当ORDER BY后⾯缺少窗⼝从句条件,窗⼝规范默认是RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW.6、当ORDER BY和窗⼝从句都缺失, 窗⼝规范默认是ROW BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING.7、OVER从句⽀持以下函数,但是并不⽀持和窗⼝⼀起使⽤它们。
hive常用函数Hive一款建立在Hadoop之上的数据仓库分析软件,它为用户提供了一系列的函数,以满足用户的不同需求。
在这里,我们将重点介绍 Hive 中一些常用的函数,希望能够更好的帮助用户使用和熟悉Hive。
### 1.学函数数学函数是 Hive 中的一类经常被使用的函数,它们分为算术运算类函数、随机数类函数、对数类函数、三角函数类函数、取整函数类函数、科学计数法函数等,下面,我们将分别介绍这几类函数的语法以及用法。
####1)算术运算类函数算术运算类函数主要有如下:1. `ABS(x)`:返回x的绝对值2. `EXP(x)`:返回e的x次方3. `MOD(x, y)`:返回x除以y的余数4. `POWER(x,y)`:返回x的y次方5. `ROUND(x,d)`:返回x保留d位小数后的结果6. `LOG(x)`:返回x的自然对数####2)随机数类函数随机数类函数主要有`RAND()`,它用于生成一个0~1之间的随机数。
####3)对数类函数对数类函数主要有`LOG(x, base)` `LOG10(x)`,它们用于返回X的对数,其中base可以自定义,为空时,使用2作为默认值;而`LOG10(x)`则返回以10为底的x的对数。
####4)三角函数类函数三角函数类函数主要有`SIN(x)`,`COS(x)`,`TAN(x)`,它们分别用于返回x的正弦值、余弦值和正切值。
####5)取整函数类函数取整函数类函数主要有`CEIL(x)` `FLOOR(x)`,它们用于返回比x大的最小整数和比x小的最大整数。
####6)科学计数法函数科学计数法函数主要有`ROUND(x,s)`,其中x为一个数字,s代表保留小数点位数,用于表示数字的指数部分,即参数s代表相对于基数10的指数。
### 2.符串函数字符串函数是 Hive 中常用的一类函数,它们分为字符串处理类函数、字符和数值转换类函数、字符集转换类函数、正则表达式类函数等,下面,我们将分别介绍这几类函数的语法以及用法。
hive的floor函数,ceil函数,round函数hive的floor函数和ceil函数与python、sql等⼀致1. floor函数select floor(1.4) # 结果是:12. ceil函数select ceil(1.4) #结果是:23. hive的round函数与python稍微有点差别⾸先说hive的round:直接四舍五⼊select round(1.455, 2) #结果是:1.46,即四舍五⼊到⼗分位select round(1.5) #默认四舍五⼊到个位,结果是:2select round(255, -1) #结果是:260,即四舍五⼊到⼗位,此时个位是5会进位其次说python的round:这⾥是python3,对于⼩数的情形round(1.8) #默认时,四舍五⼊均到个位,⼩数的话就会四舍五⼊取整了Out[19]: 2round(1.4) #默认时,四舍五⼊均到个位,⼩数的话就会四舍五⼊取整了Out[22]: 1round(1.345, 2) # 未进位Out[79]: 1.34round(1.145, 2) # 进位了,是不是很神奇。
Out[80]: 1.15原因是:⼆进制转换造成的精度损失from decimal import Decimal #可⽤来查看保存的值Decimal(1.345)Out[65]: Decimal('1.3449999999999999733546474089962430298328399658203125') #此时求 round(1.345, 2)是不是得到的值就是1.34了Decimal(1.145)Out[66]: Decimal('1.145000000000000017763568394002504646778106689453125') #此时求 round(1.145, 2)是不是得到的值就是1.15了然⽽,python3中对整数使⽤时,⽐较难理解,使⽤时需要谨慎!!!round(35, -1) #进位了Out[7]: 40round(45, -1) #未进位Out[8]: 40round(345, -1) #未进位Out[9]: 340round(335, -1) #进位了Out[10]: 340round(355, -2) #进位了Out[11]: 400round(455, -2) #进位了Out[12]: 500必须使⽤时,最好写函数包装转化⼀下,或者将为5的精度位+1,然后再⽤round。
第一部分:引言在数据分析和统计学中,我们经常会听到“percentile(百分位)”这个概念,它是一种描述数据分布的统计量,能够帮助我们更好地理解数据的特征和分布规律。
而在大数据处理领域,Hive计算逻辑则是一种常用的数据处理工具,它能够帮助我们高效地进行数据分析和处理。
本文将深入探讨percentile百分位在Hive计算逻辑中的应用,希望能够为读者提供全面、深度和广度兼具的理解。
第二部分:百分位的概念和计算方式让我们来了解一下什么是percentile百分位。
在统计学中,百分位是一个用于描述数据分布的统计量,它能够帮助我们了解数据中各个部分的位置和分布情况。
常见的百分位包括25%分位(第一四分位数)、50%分位(中位数)和75%分位(第三四分位数),它们分别表示了数据中25%、50%和75%位置处的数值。
而对于任意给定的百分位,我们可以使用以下公式来进行计算:百分位 = (n + 1) * P / 100其中n表示数据的数量,P表示给定的百分位。
第三部分:Hive计算逻辑中的百分位计算在Hive计算逻辑中,我们常常需要对大规模的数据进行统计分析,包括对百分位的计算。
通常情况下,我们可以使用Hive的内置函数percentile来实现对百分位的计算。
该函数的使用方式如下:SELECT percentile(column_name, p) FROM table_name;其中column_name表示需要进行计算的列名,p表示百分位的值。
在具体的实际操作中,我们可以根据需要指定p的数值,比如0.25、0.5和0.75等,以获得相应的百分位值。
第四部分:实际案例分析为了更好地理解Hive计算逻辑中的百分位计算,让我们来看一个实际的案例。
假设我们有一张包含了销售数据的表sales_data,其中包括了产品销售额的信息。
我们希望计算出产品销售额的中位数,以便更好地了解销售额的分布情况。
在这种情况下,我们可以使用Hive的percentile函数来进行计算,具体的Hive查询语句如下所示:SELECT percentile(sales_amount, 0.5) FROM sales_data;通过这个查询语句,我们就可以很方便地得到产品销售额的中位数,帮助我们更好地了解销售额的分布情况。
hive quartetile函数
HiveQuartile函数是一种用于计算分位数的函数。
分位数是将一组数据分成若干份的方法,常用的分位数包括四分位数、中位数等。
Hive Quartile函数可以计算数据的四分位数,即将数据分成四份。
其中,第一份包括最小值到第一四分位数之间的数据,第二份包括第一四分位数到中位数之间的数据,第三份包括中位数到第三四分位数之间的数据,第四份包括第三四分位数到最大值之间的数据。
使用Hive Quartile函数可以方便地得到数据的分布情况,从而帮助分析数据趋势和异常值的检测。
同时,在数据处理和统计分析中也具有广泛的应用。
- 1 -。
Hive2.0函数⼤全(中⽂版)摘要Hive内部提供了很多函数给开发者使⽤,包括数学函数,类型转换函数,条件函数,字符函数,聚合函数,表⽣成函数等等,这些函数都统称为内置函数。
⽬录数学函数ReturnTypeName (Signature)DescriptionDOUBLE round(DOUBLE a)Returns the rounded BIGINT value of a.返回对a四舍五⼊的BIGINT值DOUBLE round(DOUBLE a, INT d)Returns a rounded to d decimal places.返回DOUBLE型d的保留n位⼩数的DOUBLW型的近似值DOUBLE bround(DOUBLE a)Returns the rounded BIGINT value of a using HALF_EVEN rounding mode (as of ). Also known as Gaussian rounding or bankers' rounding. Example: bround(2.5) = 2, bround(3.5) = 4.银⾏家舍⼊法(1~4:舍,6~9:进,5->前位数是偶:舍,5->前位数是奇:进)DOUBLE bround(DOUBLE a, INT d)Returns a rounded to d decimal places using HALF_EVEN rounding mode (as of ). Example: bround(8.25, 1) = 8.2, bround(8.35, 1) = 8.4.银⾏家舍⼊法,保留d位⼩数BIGINT floor(DOUBLE a)Returns the maximum BIGINT value that is equal to or less than a向下取整,最数轴上最接近要求的值的左边的值如:6.10->6 -3.4->-4 BIGINT ceil(DOUBLE a), ceiling(DOUBLE a)Returns the minimum BIGINT value that is equal to or greater than a.求其不⼩于⼩给定实数的最⼩整数如:ceil(6) = ceil(6.1)= ceil(6.9) = 6DOUBLE rand(), rand(INT seed)Returns a random number (that changes from row to row) that is distributed uniformly from 0 to 1. Specifying the seed will make sure the generated random number sequence is deterministic.每⾏返回⼀个DOUBLE型随机数seed是随机因⼦DOUBLE exp(DOUBLE a), exp(DECIMAL a)Returns e a where e is the base of the natural logarithm. Decimal version added in .返回e的a幂次⽅, a可为⼩数DOUBLE ln(DOUBLE a), ln(DECIMAL a)Returns the natural logarithm of the argument a. Decimal version added in .以⾃然数为底d的对数,a可为⼩数DOUBLE log10(DOUBLE a), log10(DECIMAL a)Returns the base-10 logarithm of the argument a. Decimal version added in .以10为底d的对数,a可为⼩数DOUBLE log2(DOUBLE a), log2(DECIMAL a)Returns the base-2 logarithm of the argument a. Decimal version added in .以2为底数d的对数,a可为⼩数DOUBLE log(DOUBLE base, DOUBLE a)log(DECIMAL base, DECIMAL a)Returns the base-base logarithm of the argument a. Decimal versions added in .以base为底的对数,base 与 a都是DOUBLE类型DOUBLE pow(DOUBLE a, DOUBLE p),power(DOUBLE a, DOUBLE p)Returns a p.计算a的p次幂power(DOUBLE a, DOUBLE p)计算a的p次幂DOUBLE sqrt(DOUBLE a), sqrt(DECIMAL a)Returns the square root of a. Decimal version added in .计算a的平⽅根STRING bin(BIGINT a)Returns the number in binary format (see ).计算⼆进制a的STRING类型,a为BIGINT类型STRING hex(BIGINT a) hex(STRING a) hex(BINARYa)If the argument is an INT or binary, hex returns the number as a STRING inhexadecimal format. Otherwise if the number is a STRING, it converts eachcharacter into its hexadecimal representation and returns the resulting STRING.(See, BINARY version as of Hive .)计算⼗六进制a的STRING类型,如果a为STRING类型就转换成字符相对应的⼗六进制BINARY unhex(STRING a)Inverse of hex. Interprets each pair of characters as a hexadecimal number and converts to the byte representation of the number. (BINARY version as of Hive , used to return a string.)hex的逆⽅法STRING conv(BIGINT num, INT from_base, INTto_base), conv(STRING num, INTfrom_base, INT to_base)Converts a number from a given base to another (see ).将GIGINT/STRING类型的num从from_base进制转换成to_base进制DOUBLE abs(DOUBLE a)Returns the absolute value.计算a的绝对值INT or DOUBLE pmod(INT a, INT b), pmod(DOUBLE a,DOUBLE b)Returns the positive value of a mod b.a对b取模DOUBLE sin(DOUBLE a), sin(DECIMAL a)Returns the sine of a (a is in radians). Decimal version added in .求a的正弦值DOUBLE asin(DOUBLE a), asin(DECIMAL a)Returns the arc sin of a if -1<=a<=1 or NULL otherwise. Decimal version added in .求d的反正弦值DOUBLE cos(DOUBLE a), cos(DECIMAL a)Returns the cosine of a (a is in radians). Decimal version added in .求余弦值DOUBLE acos(DOUBLE a), acos(DECIMAL a)Returns the arccosine of a if -1<=a<=1 or NULL otherwise. Decimal version added in .求反余弦值DOUBLE tan(DOUBLE a), tan(DECIMAL a)Returns the tangent of a (a is in radians). Decimal version added in .求正切值DOUBLE atan(DOUBLE a), atan(DECIMAL a)Returns the arctangent of a. Decimal version added in .求反正切值DOUBLE degrees(DOUBLE a), degrees(DECIMAL a)Converts value of a from radians to degrees. Decimal version added in .奖弧度值转换⾓度值DOUBLE radians(DOUBLE a), radians(DOUBLE a)Converts value of a from degrees to radians. Decimal version added in .将⾓度值转换成弧度值INT or DOUBLE positive(INT a), positive(DOUBLE a)Returns a.返回aINT or DOUBLE negative(INT a), negative(DOUBLE a)Returns -a.返回a的相反数DOUBLE or INT sign(DOUBLE a), sign(DECIMAL a)Returns the sign of a as '1.0' (if a is positive) or '-1.0' (if a is negative), '0.0'otherwise. The decimal version returns INT instead of DOUBLE. Decimal versionadded in .如果a是正数则返回1.0,是负数则返回-1.0,否则返回0.0DOUBLE e()Returns the value of e.数学常数e DOUBLE pi()Returns the value of pi.数学常数pi数学常数piBIGINT factorial(INT a)Returns the factorial of a (as of Hive ). Valid a is [0..20].求a的阶乘DOUBLE cbrt(DOUBLE a)Returns the cube root of a double value (as of Hive ).求a的⽴⽅根INT BIGINT shiftleft(TINYINT|SMALLINT|INT a, INT b)shiftleft(BIGINT a, INT b)Bitwise left shift (as of Hive ). Shifts a b positions to the left.Returns int for tinyint, smallint and int a. Returns bigint for bigint a.按位左移INT BIGINT shiftright(TINYINT|SMALLINT|INT a, INTb)shiftright(BIGINT a, INT b)Bitwise right shift (as of Hive ). Shifts a b positions to the right.Returns int for tinyint, smallint and int a. Returns bigint for bigint a.按拉右移INT BIGINT shiftrightunsigned(TINYINT|SMALLINT|INTa,INT b),shiftrightunsigned(BIGINT a, INT b)Bitwise unsigned right shift (as of Hive ). Shifts a b positions to the right.Returns int for tinyint, smallint and int a. Returns bigint for bigint a.⽆符号按位右移(<<<)T greatest(T v1, T v2, ...)Returns the greatest value of the list of values (as of Hive ). Fixed to return NULL when one or more arguments are NULL, and strict type restriction relaxed, consistent with ">" operator (as of Hive ).求最⼤值T least(T v1, T v2, ...)Returns the least value of the list of values (as of Hive ). Fixed to return NULL when one or more arguments are NULL, and strict type restriction relaxed, consistent with "<" operator (as of Hive ).求最⼩值集合函数ReturnTypeName(Signature)Descriptionint size(Map<K.V>)Returns the number of elements in the map type.求map的长度int size(Array<T>)Returns the number of elements in the array type.求数组的长度array<K>map_keys(Map<K.V>)Returns an unordered array containing the keys of the input map.返回map中的所有keyarray<V>map_values(Map<K.V>)Returns an unordered array containing the values of the input map.返回map中的所有valueboolean array_contains(Array<T>,value)Returns TRUE if the array contains value.如该数组Array<T>包含value返回true。