当前位置: 首页 > news >正文

Hive内置函数

文章目录

  • Hive内置函数
    • 字符串函数
    • 时间类型函数
    • 数学函数
    • 集合函数
    • 条件函数
    • 类型转换函数
    • 数据脱敏函数
    • 其他函数
    • 用户自定义函数

Hive内置函数

  • 查询内置函数用法:
DESCRIBE FUNCTION EXTENDED 函数名;

字符串函数

  • 字符串连接函数:concat
  • 带分隔符字符串连接函数:concat_ws
  • 字符串截取函数:substr或substring
  • 正则表达式替代函数:regexp_replace
  • 正则表达式解析函数:regexp_extract
  • URL解析函数:parse_url
  • json解析函数:get_json_object
  • 分割字符串函数:split(可以用正则表达式匹配)

时间类型函数

  • 获取当前日期:current_date
  • 获取当前UNIX时间戳:current_timestamp
  • 日期转UNIX时间戳:unix_timestamp
  • UNIX时间戳转日期:from_unixtime
  • 日期比较:datediff
  • 增加日期:date_add
  • 减少日期:date_sub
  • 抽取日期:to_date
  • 日期提取年:year(其他级别日期提取方法相同)

数学函数

  • 取整:round
  • 向下取整:floor
  • 向上取整:ceil
  • 取随机数:rand
  • 取二进制数:bin
  • 取绝对值:abs

集合函数

  • 计算集合大小:size
  • 取集合的keys:map_keys
  • 取集合values:map_vaclues
  • 判断数组是否包含指定元素:array_contains
  • 数组排序:sort_array

条件函数

  • 条件判断:if
  • 空判断:isnull
  • 非空判断:isnotnull
  • 空值转换:nvl
  • 非空查找:COALESCE
  • 条件转换函数:CASE a WHEN b THEN c [ELSE d] END
  • 若相等则返回空,不等返回第一个:nullif(a,b)
  • 如果condition不为真,则异常,否则返回null:assert_true(condition)

类型转换函数

  • 任意数据类型之间的转换:cast

数据脱敏函数

  • 将查询返回的数据,大写字母转换为X,小写字母转换为x,数字转换为n:mask(也可以自定义替换的字母)
  • 对前n个进行脱敏替换:mask_first_n
  • 对后n个进行脱敏替换:mask_last_n
  • 除了前n个字符,其余进行掩码处理:mask_show_first_n
  • 除了后n个字符,其余进行掩码处理:mask_show_last_n
  • 返回字符串的hash编码:mask_hash

其他函数

  • 调用java方法:java_method(如果jar包不是hive自带的,可以用add jar添加进来)
  • 反射函数:reflect
  • 取哈希值:hash
  • SHA-2家族算法加密:sha2
  • crc32加密:crc32
  • MD5加密:md5

用户自定义函数

  • 用户自定义函数简称UDF
  • 根据函数输入输出行数可以分为3类:
  1. UDF:普通函数,一进一出(round)
  2. UDAF:聚合函数,多进一出(sum)
  3. UDTF:表生成函数,一进多出(explode)
http://www.lryc.cn/news/7229.html

相关文章:

  • Git如何快速入门
  • netcore构建webservice以及调用的完整流程
  • Mysql事务基础(解析)
  • 2023 年首轮土地销售活动来了 与 The Sandbox 一起体验「体素狂热」!
  • vue AntD中栅格布局的四种大小xs,sm,md,lg
  • window.open()打开窗口全屏
  • VFIO软件依赖——VFIO协议
  • C/C++【内存管理】
  • 第8篇:Java编程语言的8大优势
  • STM32定时器实现红外接收与解码
  • 18- Adaboost梯度提升树 (集成算法) (算法)
  • zlink 介绍
  • C++之std::string的resize与reverse
  • 在.net中运用ffmpeg 操作视频
  • 05- 线性回归算法 (LinearRegression) (算法)
  • JAVA补充知识01之枚举enum
  • jenkins下配置maven
  • 春季开学即将到来!大学生活必备数码清单奉上
  • ubuntu18.04 天选2 R95900hx 3060显卡驱动安装
  • Harbor安装部署实战详细手册
  • 华为OD机试真题JAVA实现【箱子之形摆放】真题+解题思路+代码(20222023)
  • 华为OD机试 - 事件推送(Python)| 真题+思路+考点+代码+岗位
  • 【Linux】信号量
  • android-java同步方法和异步方法
  • Flask入门(5):请求和响应
  • 记进组后第五次组会汇报
  • nil Foundation的Placeholder证明系统(2)
  • QHash源码解读
  • 【Unity细节】RigidBody中Dynamic和Kinematic的区别
  • 【C++、数据结构】哈希 — 闭散列与哈希桶的模拟实现