• Hive函数


    @

    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中的元素排序

  • 相关阅读:
    C/C++ 避免使用宏
    单片机 数码管的发光
    单片机 74HC573锁存器和周期
    单片机 中断
    串口通信
    单片机 键盘
    C++中 运算符和函数的区别
    单片机 中断( 定时器/计数器详说 )
    C++ 接收数量不定的函数参数
    工作流错误:The workflow failed to start due to an internal error.
  • 原文地址:https://www.cnblogs.com/sunbr/p/13768409.html
Copyright © 2020-2023  润新知