Hive常用函数


SELECT a.*, rank() over(partition by key order by created desc) as rk
FROM   table_name a
  • regexp_extract(string subject, string pattern, int index)
SELECT regexp_extract('https://cwiki.apache.org/confluence/display', 'org/([a-z]+)/', 1)
  • regexp_replace(string INITIAL_STRING, string PATTERN, string REPLACEMENT)
SELECT regexp_replace('hive site:xxxx', '^[a-z]+', '')
  • current_date
  • date_add(string startdate, int days)
  • date_sub(string startdate, int days)
  • datediff(string enddate, string startdate)
  • to_date(string timestamp)
  • from_unixtime(string date[, string format])
  • unix_timestamp(string date)
SELECT from_unixtime(unix_timestamp('2016-09-07 07:07:13.02'), 'HH');//02
  • regexp_extract(string str, string regexp, int idx)
SELECT regexp_extract('2016-09-07 02:07:13.02', ' ([0-9]+):', 1); //02
SELECT reflect("java.lang.String", "valueOf", 1),
       reflect("java.lang.String", "isEmpty"),
       reflect("java.lang.Math", "max", 2, 3),
       reflect("java.lang.Math", "min", 2, 3),
       reflect("java.lang.Math", "round", 2.5),
       reflect("java.lang.Math", "exp", 1.0),
       reflect("java.lang.Math", "floor", 1.9)
FROM src LIMIT 1;

1   true    3   2   3   2.7182818284590455  1.0