zoukankan      html  css  js  c++  java
  • hive 函数

          Hive 函数

              !!!_a前面是类型

    返回值类型转换函数描述
    type cast(expr as ) expr转换成各种类型
    binary bigary('string_a') 将string_a转换为二进制
    double round(double_a,d) 返回对a四舍五入并保留d位小数位的值
    binary round(double_a) 四舍五入a值
    bigint floor(double a) a向下取整
    double rand() 返回一个double型随机数
    double power(double a,double p) a的p次幂
    double abs(double a) 计算a的绝对值

            1.1 日期函数:

    返回值函数描述
    string from_unixtime(a) 将a一连串数字转换成时间
    int unix_timestamp() 获得本地时间
    bigint unix_timestamp('a') 将a日期转换成时间戳
    string to_date('a') 将a日期,返回日期部分
    int year('a') 将a日期,返回年份
    int datediff() 计算开始时间到结束时间相差的天数
    string date_add(string stardate,intdays) 从开始时间加上days
    string date_sub(string startdate,intdays) 从开始时间减去days
    date current_date 返回当前时间的日期
    timestampcurrent_timestamp返回当前时间戳
    string date_format() 按指定格式返回时间date

            1.2 集合函数

    返回值函数描述
    int size(Map<K.V>) 返回map中键值对个数
    int size(Array) 返回数组的长度
    array map_keys(Map<K.V>) 返回map中的所有key
    array map_values(Map<K.V>) 返回map中的所有value
    boolean array_contains(Array, value) 如该数组Array包含value返回true。,否则返回false
    array sort_array(Array) 对数组进行排序

              实例:hive> select size(array(1,1,2,3,4));

              !!!注意都是小括号哈

            1.3 条件函数

    返回值函数描述
    T if(boolean testCondition, T valueTrue, T valueFalseOrNull) 如果testCondition 为true就返回valueTrue,否则返回valueFalseOrNull
    T nvl(T value, T default_value) value为NULL返回default_value,否则返回value
    T COALESCE(T v1, T v2, ...) 返回第一非null的值,如果全部都为NULL就返回NULL
    T CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END 如果a=b就返回c,a=d就返回e,否则返回f
    T CASE WHEN a THEN b [WHEN c THEN d]* [ELSE e] END 如果a=ture就返回b,c= ture就返回d,否则返回e
    boolean isnull( a ) 如果a为null就返回true,否则返回false
    boolean isnotnull ( a ) 如果a为非null就返回true,否则返回false

            1.4 聚合函数

    返回值函数描述
    N rows explode(array) 对于array中的每个元素生成一行且包含该元素
    N rows explode(MAP) 每行对应每个map键值对 其中一个字段是map的键,另一个字段是map的值
    N rows posexplode(ARRAY) 与explode类似,不同的是还返回各元素在数组中的位置
    N rows stack(INT n, v_1, v_2, ..., v_k) 把k列转换成n行,每行有k/n个字段,其中n必须是常数
    tuple json_tuple(jsonStr, k1, k2, ...) 从一个JSON字符串中获取多个键并作为一个元组返回,与get_json_object不同的是此函数能一次获取多个键值
    stringconcat()连接字符串
    实例 concat(year('1993-3-2'),'-',month('1231-6-4'))  
    int quarter('1889-5-2') 根据日期划分季度
  • 相关阅读:
    解决ssh或ftp下root用户认证失败问题
    setsockopt IP_ADD_MEMBERSHIP error!No such device的解决方案
    嵌入式Linux软件工程师面试题一
    00.嵌入式Linux开发环境搭建
    这个是豆瓣查书的api
    CentOS7.x安装MongoDB3.2.3教程
    Linux(Centos7)yum安装最新mysql
    解决npm速度慢的问题!!!
    windows下Gulp入门详细教程
    hibernate中hql查询
  • 原文地址:https://www.cnblogs.com/tudousiya/p/11235158.html
Copyright © 2011-2022 走看看