前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive函数

Hive函数

作者头像
孙晨c
发布2020-10-10 16:23:14
8740
发布2020-10-10 16:23:14
举报
文章被收录于专栏:无题~无题~

@

目录

1.查看函数

  • 函数有库的概念,系统提供的除外,系统提供的函数可以在任意库使用!
  • 查看当前库所有的函数:show functions;
  • 查看函数的使用: desc function 函数名
  • 查看函数的详细使用: desc function extended 函数名

2.函数的分类

按函数的来源:

  • ①系统函数,自带的,直接使用即可
  • ②用户自定义的函数。 a)遵守hive函数类的要求,自定义一个函数类 b)打包函数,放入到hive的lib目录下,或在HIVE_HOME/auxlib,auxlib用来存放hive可以加载的第三方jar包的目录 c)创建一个函数,让这个函数和之前编写的类关联函数有库的概念 d)使用函数

按函数的特征:

  • ①UDF: 用户定义的函数。 一进一出。 输入单个参数,返回单个结果!比如:cast('a' as int) 返回 null
  • ②UDTF: 用户定义的表生成函数。 一进多出。传入一个参数(集合类型),返回一个结果集!
  • ③UDAF: 用户定义的聚集函数。 多进一出。 传入一列多行的数据,返回一个结果(一列一行) 。比如:count(),avg(),sum()

常用函数

常用日期函数

hive默认解析的日期必须是: 2019-11-24 08:09:10 unix_timestamp:返回当前或指定时间的时间戳 from_unixtime:将时间戳转为日期格式 current_date:当前日期 current_timestamp:当前的日期加时间 to_date:抽取日期部分 year:获取年 month:获取月 day:获取日 hour:获取时 minute:获取分 second:获取秒 weekofyear:当前时间是一年中的第几周 dayofmonth:当前时间是一个月中的第几天 months_between: 两个日期间的月份,前-后 add_months:日期加减月 datediff:两个日期相差的天数,前-后 date_add:日期加天数 date_sub:日期减天数 last_day:日期的当月的最后一天

date_format格式化日期 date_format( 2019-11-24 08:09:10,'yyyy-MM') mn

常用取整函数

round: 四舍五入 ceil: 向上取整 floor: 向下取整

常用字符串操作函数 upper: 转大写 lower: 转小写 length: 长度 trim: 前后去空格 lpad: 向左补齐,到指定长度 rpad: 向右补齐,到指定长度 regexp_replace: SELECT regexp_replace('100-200', '(\d+)', 'num')='num-num 使用正则表达式匹配目标字符串,匹配成功后替换!

集合操作

size: 集合(map和list)中元素的个数 map_keys: 返回map中的key map_values: 返回map中的value array_contains: 判断array中是否包含某个元素 sort_array: 将array中的元素排序

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-10-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.查看函数
  • 2.函数的分类
    • 按函数的来源:
      • 按函数的特征:
      • 常用函数
        • 常用日期函数
          • 常用取整函数
            • 集合操作
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档