hive常用函数


1数学函数

  • round(double d)

  • round(double d,int n)

  • floor(double d)

  • ceil(double d)

  • ceiling(double d)

  • rand() 

  • rand(int seed)

  • exp(double d)

  • ln(double d)

  • log10(double d)

  • log2(double d)

  • log(double base,double d)

  • pow(double d,double p)

  • power(double d,double p)

  • sqrt(double d)

  • hex(bigint i)

  • hex(string str)

  • abs(double d)

  • PI()

2集合函数

  • size(Map)

  • map_keys(Map)

  • map_values(Map)

  • array_contains(Array, value)

  • sort_array(Array)

3类型转换函数

  • cast(expr as )

  • expression -- 合法的表达式; as 后 type-- 要装换的类型  

    使用CAST函数进行数据类型转换时,在下列情况下能够被接受:


    (1)两个表达式的数据类型完全相同。
    (2)两个表达式可隐性转换。
    (3)必须显式转换数据类型。

  • 举例: cast( '10' as bigint) cast (15/13 as decimal(9,2))--decmal( )中9,2分别是精度与小数位数;

4日期函数

  • date_add

  • date_sub

  • next_day

  • last_day

  • from_unixtime(bigint unixtime, string format)

  • to_date(string timestamp)

  • year(string date)

  • month(string date)

  • hour(string date)

  • weekofyear(string date)

  • datediff(string enddate, string startdate)

  • add_months(string start_date, int num_months)

  • date_format(date/timestamp/string ts, string fmt)

5条件函数

  • if(boolean testCondition, T valueTrue, T valueFalseOrNull)

  • nvl(T value, T default_value)

  • COALESCE(T v1, T v2, ...)

  • CASE a WHEN b THEN c [WHEN d THEN e]* [ELSE f] END

  • isnull( a )

  • isnotnull ( a )

6字符函数

  • concat(string|binary A, string|binary B...)

  • concat_ws(string SEP, string A, string B...)

  • length(string A)

  • lower(string A) lcase(string A)

  • parse_url(string urlString, string partToExtract [, string keyToExtract])

  • regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)

  • reverse(string A)

  • split(string str, string pat)

  • substr(string|binary A, int start) substring(string|binary A, int start)

7聚合函数

  • count(*)

  • count(expr)

  • count(distinct expr[,expr_.])

  • sum(col)

  • sum(distinct col)

  • avg(col)

  • avg(distinct col)

  • min(col)

  • max(col)

8表生成函数

    • explode(ARRAY array)

    • explode(MAP map)

    • explode(ARRAY a)

    • json_tuple(STRING jsonStr,p1p2,…,pn)-

    • parse_url_tuple(url,partname1,partname2,…,partnameN)