码迷,mamicode.com
首页 > 其他好文 > 详细

hive 函数

时间:2019-07-23 23:47:59      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:ted   width   时间戳   描述   else   开始   isnull   多个   二进制   

      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‘) 根据日期划分季度

hive 函数

标签:ted   width   时间戳   描述   else   开始   isnull   多个   二进制   

原文地址:https://www.cnblogs.com/tudousiya/p/11235158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!