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 NULL
  10. 非空判断: IS NOT NULL
  11. LIKE比较: LIKE
  12. JAVA的LIKE操作: RLIKE
  13. REGEXP操作: REGEXP
    二、数学运算:
  14. 加法操作: +
  15. 减法操作: –
  16. 乘法操作: *
  17. 除法操作: /
  18. 取余操作: %
  19. 位与操作: &
  20. 位或操作: |
  21. 位异或操作: ^
    9.位取反操作: ~
    三、逻辑运算:
  22. 逻辑与操作: AND 、&&
  23. 逻辑或操作: OR 、||
  24. 逻辑非操作: NOT、!
    四、复合类型构造函数
  25. map结构
  26. struct结构
  27. named_struct结构
  28. array结构
  29. create_union
    五、复合类型操作符
  30. 获取array中的元素
  31. 获取map中的元素
  32. 获取struct中的元素
    六、数值计算函数
  33. 取整函数: round
  34. 指定精度取整函数: round
  35. 向下取整函数: floor
  36. 向上取整函数: ceil
  37. 向上取整函数: ceiling
  38. 取随机数函数: rand
  39. 自然指数函数: exp
  40. 以10为底对数函数: log10
  41. 以2为底对数函数: log2
  42. 对数函数: log
  43. 幂运算函数: pow
  44. 幂运算函数: power
  45. 开平方函数: sqrt
  46. 二进制函数: bin
  47. 十六进制函数: hex
  48. 反转十六进制函数: unhex
  49. 进制转换函数: conv
  50. 绝对值函数: abs
  51. 正取余函数: pmod
  52. 正弦函数: sin
  53. 反正弦函数: asin
  54. 余弦函数: cos
  55. 反余弦函数: acos
  56. positive函数: positive
  57. negative函数: negative
    七、集合操作函数
  58. map类型大小:size
  59. array类型大小:size
  60. 判断元素数组是否包含元素:array_contains
  61. 获取map中所有value集合
  62. 获取map中所有key集合
  63. 数组排序
    八、类型转换函数
  64. 二进制转换:binary
  65. 基础类型之间强制转换:cast
    九、日期函数
  66. UNIX时间戳转日期函数: from_unixtime
  67. 获取当前UNIX时间戳函数: unix_timestamp
  68. 日期转UNIX时间戳函数: unix_timestamp
  69. 指定格式日期转UNIX时间戳函数: unix_timestamp
  70. 日期时间转日期函数: to_date
  71. 日期转年函数: year
  72. 日期转月函数: month
  73. 日期转天函数: day
  74. 日期转小时函数: hour
  75. 日期转分钟函数: minute
  76. 日期转秒函数: second
  77. 日期转周函数: weekofyear
  78. 日期比较函数: datediff
  79. 日期增加函数: date_add
  80. 日期减少函数: date_sub
    十、条件函数
  81. If函数: if
  82. 非空查找函数: COALESCE
  83. 条件判断函数:CASE
  84. 条件判断函数:CASE
    十一、字符串函数
  85. 字符ascii码函数:ascii
  86. base64字符串
  87. 字符串连接函数:concat
  88. 带分隔符字符串连接函数:concat_ws
  89. 数组转换成字符串的函数:concat_ws
  90. 小数位格式化成字符串函数:format_number
  91. 字符串截取函数:substr,substring
  92. 字符串截取函数:substr,substring
  93. 字符串查找函数:instr
  94. 字符串长度函数:length
  95. 字符串查找函数:locate
  96. 字符串格式化函数:printf
  97. 字符串转换成map函数:str_to_map
  98. base64解码函数:unbase64(string str)
  99. 字符串转大写函数:upper,ucase
  100. 字符串转小写函数:lower,lcase
  101. 去空格函数:trim
  102. 左边去空格函数:ltrim
  103. 右边去空格函数:rtrim
  104. 正则表达式替换函数:regexp_replace
  105. 正则表达式解析函数:regexp_extract
  106. URL解析函数:parse_url
  107. json解析函数:get_json_object
  108. 空格字符串函数:space
  109. 重复字符串函数:repeat
  110. 左补足函数:lpad
  111. 右补足函数:rpad
  112. 分割字符串函数: split
  113. 集合查找函数: find_in_set
  114. 分词函数:sentences
  115. 分词后统计一起出现频次最高的TOP-K
  116. 分词后统计与指定单词一起出现频次最高的TOP-K
    十二、混合函数
  117. 调用Java函数:java_method
  118. 调用Java函数:reflect
  119. 字符串的hash值:hash
    十三、XPath解析XML函数
  120. xpath
  121. xpath_string
  122. xpath_boolean
  123. xpath_short, xpath_int, xpath_long
  124. xpath_float, xpath_double, xpath_number
    十四、汇总统计函数(UDAF)
  125. 个数统计函数: count
  126. 总和统计函数: sum
  127. 平均值统计函数: avg
  128. 最小值统计函数: min
  129. 最大值统计函数: max
  130. 非空集合总体变量函数: var_pop
  131. 非空集合样本变量函数: var_samp
  132. 总体标准偏离函数: stddev_pop
  133. 样本标准偏离函数: stddev_samp
    10.中位数函数: percentile
  134. 中位数函数: percentile
  135. 近似中位数函数: percentile_approx
  136. 近似中位数函数: percentile_approx
  137. 直方图: histogram_numeric
  138. 集合去重数:collect_set
  139. 集合不去重函数:collect_list
    十五、表格生成函数Table-Generating Functions (UDTF)
  140. 数组拆分成多行:explode
  141. Map拆分成多行:explode

下载地址:

链接: https://pan.baidu.com/s/1i6n0xGL

密码: 48s7

posted @ 2022-07-19 14:02  咕噜噜~  阅读(262)  评论(0编辑  收藏  举报