hive内置函数详解

内置函数
2.1数学函数

返回类型

函数

说明

BIGINT

round(double a)

四舍五入

DOUBLE

round(double a, int d)

小数部分d位之后数字四舍五入,例如round(21.263,2),返回21.26

BIGINT

floor(double a)

对给定数据进行向下舍入最接近的整数。例如floor(21.2),返回21。

BIGINT

ceil(double a), ceiling(double a)

将参数向上舍入为最接近的整数。例如ceil(21.2),返回23.

double

rand(), rand(int seed)

返回大于或等于0且小于1的平均分布随机数(依重新计算而变)

double

exp(double a)

返回e的n次方

double

ln(double a)

返回给定数值的自然对数

double

log10(double a)

返回给定数值的以10为底自然对数

double

log2(double a)

返回给定数值的以2为底自然对数

double

log(double base, double a)

返回给定底数及指数返回自然对数

double

pow(double a, double p) power(double a, double  p)

返回某数的乘幂

double

sqrt(double a)

返回数值的平方根

string

bin(BIGINT a)

返回二进制格式,参考:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_hex

string

hex(BIGINT a) hex(string a)

将整数或字符转换为十六进制格式。参考:http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_hex

string

unhex(string a)

十六进制字符转换由数字表示的字符。

string

conv(BIGINT num, int from_base, int to_base)

将指定数值,由原来的度量体系转换为指定的试题体系。例如CONV(‘a’,16,2),返回。参考:’1010′  http://dev.mysql.com/doc/refman/ ... .html#function_conv

double

abs(double a)

取绝对值

int double

pmod(int a, int b) pmod(double a, double b)

返回a除b的余数的绝对值

double

sin(double a)

返回给定角度的正弦值

double

asin(double a)

返回x的反正弦,即是X。如果X是在-1到1的正弦值,返回NULL。

double

cos(double a)

返回余弦

double

acos(double a)

返回X的反余弦,即余弦是X,,如果-1<= A <= 1,否则返回null.

int double

positive(int a) positive(double a)

返回A的值,例如positive(2),返回2。

int double

negative(int a) negative(double a)

返回A的相反数,例如negative(2),返回-2。

2.2收集函数

返回类型

函数

说明

int

size(Map<K.V>)

返回的map类型的元素的数量

int

size(Array<T>)

返回数组类型的元素数量

2.3类型转换函数

返回类型

函数

说明

指定 “type”

cast(expr as <type>)

类型转换。例如将字符”1″转换为整数:cast(’1′ as bigint),如果转换失败返回NULL。

2.4日期函数

返回类型

函数

说明

string

from_unixtime(bigint unixtime[, string format])

UNIX_TIMESTAMP参数表示返回一个值’YYYY- MM – DD HH:MM:SS’或YYYYMMDDHHMMSS.uuuuuu格式,这取决于是否是在一个字符串或数字语境中使用的功能。该值表示在当前的时区。

bigint

unix_timestamp()

如果不带参数的调用,返回一个Unix时间戳(从’1970- 01 – 0100:00:00′到现在的UTC秒数)为无符号整数。

bigint

unix_timestamp(string date)

指定日期参数调用UNIX_TIMESTAMP(),它返回参数值’1970-  01 – 0100:00:00′到指定日期的秒数。

bigint

unix_timestamp(string date, string pattern)

指定时间输入格式,返回到1970年秒数:unix_timestamp(’2009-03-20′,  ‘yyyy-MM-dd’) = 1237532400 参考:http://java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html

string

to_date(string timestamp)

返回时间中的年月日: to_date(“1970-01-01  00:00:00″) = “1970-01-01″

string

to_dates(string date)

给定一个日期date,返回一个天数(0年以来的天数)

int

year(string date)

返回指定时间的年份,范围在1000到9999,或为”零”日期的0。

int

month(string date)

返回指定时间的月份,范围为1至12月,或0一个月的一部分,如’0000-00-00′或’2008-00-00′的日期。

int

day(string date) dayofmonth(date)

返回指定时间的日期

int

hour(string date)

返回指定时间的小时,范围为0到23。

int

minute(string date)

返回指定时间的分钟,范围为0到59。

int

second(string date)

返回指定时间的秒,范围为0到59。

int

weekofyear(string date)

返回指定日期所在一年中的星期号,范围为0到53。

int

datediff(string enddate, string startdate)

两个时间参数的日期之差。

int

date_add(string startdate, int days)

给定时间,在此基础上加上指定的时间段。

int

date_sub(string startdate, int days)

给定时间,在此基础上减去指定的时间段。

2.5条件函数

返回类型

函数

说明

T

if(boolean testCondition, T valueTrue, T  valueFalseOrNull)

判断是否满足条件,如果满足返回一个值,如果不满足则返回另一个值。

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时返回b,当值为c时返回d。否则返回e。

2.6字符函数

返回类型

函数

说明

int

length(string A)

返回字符串的长度

string

reverse(string A)

返回倒序字符串

string

concat(string A, string B…)

连接多个字符串,合并为一个字符串,可以接受任意数量的输入字符串

string

concat_ws(string SEP, string A, string B…)

链接多个字符串,字符串之间以指定的分隔符分开。

string

substr(string A, int start) substring(string A,  int start)

从文本字符串中指定的起始位置后的字符。

string

substr(string A, int start, int len)  substring(string A, int start, int len)

从文本字符串中指定的位置指定长度的字符。

string

upper(string A) ucase(string A)

将文本字符串转换成字母全部大写形式

string

lower(string A) lcase(string A)

将文本字符串转换成字母全部小写形式

string

trim(string A)

删除字符串两端的空格,字符之间的空格保留

string

ltrim(string A)

删除字符串左边的空格,其他的空格保留

string

rtrim(string A)

删除字符串右边的空格,其他的空格保留

string

regexp_replace(string A, string B, string C)

字符串A中的B字符被C字符替代

string

regexp_extract(string subject, string pattern,  int index)

通过下标返回正则表达式指定的部分。regexp_extract(‘foothebar’,  ‘foo(.*?)(bar)’, 2) returns ‘bar.’

string

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

返回URL指定的部分。parse_url(‘http://facebook.com/path1/p.php?k1=v1&k2=v2#Ref1′,  ‘HOST’) 返回:’facebook.com’

string

get_json_object(string json_string, string  path)

select a.timestamp,  get_json_object(a.appevents, ‘$.eventid’), get_json_object(a.appenvets,  ‘$.eventname’) from log a;

string

space(int n)

返回指定数量的空格

string

repeat(string str, int n)

重复N次字符串

int

ascii(string str)

返回字符串中首字符的数字值

string

lpad(string str, int len, string pad)

返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从左侧填补。

string

rpad(string str, int len, string pad)

返回指定长度的字符串,给定字符串长度小于指定长度时,由指定字符从右侧填补。

array

split(string str, string pat)

将字符串转换为数组。

int

find_in_set(string str, string strList)

返回字符串str第一次在strlist出现的位置。如果任一参数为NULL,返回NULL;如果第一个参数包含逗号,返回0。

array<array<string>>

sentences(string str, string lang, string  locale)

将字符串中内容按语句分组,每个单词间以逗号分隔,最后返回数组。 例如sentences(‘Hello there! How are you?’) 返回:( (“Hello”, “there”),  (“How”, “are”, “you”) )

array<struct<string,double>>

ngrams(array<array<string>>, int N,  int K, int pf)

SELECT ngrams(sentences(lower(tweet)), 2, 100  [, 1000]) FROM twitter;

array<struct<string,double>>

context_ngrams(array<array<string>>,  array<string>, int K, int pf)

SELECT context_ngrams(sentences(lower(tweet)),  array(null,null), 100, [, 1000]) FROM twitter;

时间: 2024-08-24 17:43:04

hive内置函数详解的相关文章

hive内置函数详解(分析函数、窗口函数)

cli命令 show functions; desc function concat; desc function extended concat;查看某个函数怎么使用的例子 nvl函数coalesce(v1,v2,...)返回参数中第一个非空值,如果所有值都为null返回null: set.cli.print.header=true; winfunc 员工 工资 标识 id  money type 关系型运算符优先级高到低为:not and orand or 优先级 select id ,mo

Python内置函数详解

置顶   内置函数详解 https://docs.python.org/3/library/functions.html?highlight=built#ascii 此文参考了别人整理好的东西(地址:http://www.cnblogs.com/sesshoumaru/p/6140987.html#p1),然后结合自己的理解,写下来,一方面方便自己,让自己好好学习,顺便回忆回忆:另一方面,让喜欢的盆友也参考一下. 经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算(7个) 类型转换

ThinkPHP内置函数详解D、F、S、C、L、A、I

ThinkPHP内置函数详解D.F.S.C.L.A.I 单字母函数D.F.S.C.L.A.I 他们都在ThinkPHP核心的ThinkPHP/Mode/Api/functions.php这个文件中定义. 下面我分别说明一下他们的功能: D() 加载Model类 M() 加载Model类 A() 加载Action类 L() 获取语言定义 C() 获取配置值    用法就是   C("这里填写在配置文件里数组的下标") S() 全局缓存配置 用法S(“这里相当于一个唯一的标识”) F()

MYSQL常用内置函数详解说明

函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音作为拼音pinyin字段的值,如:duoyinzi(ā,á,ǎ,à,a),想提取ā作为pinyin的值:数据有好几万条,不想用程序一条条处理,只想用一个sql来实现,后来了解了下MYSQL常用内置函数,是可以做到的:sql:UPDATE ol_zidian set pinyin=LEFT(duoyi

python3内置函数详解

一. 简介 python内置了一系列的常用函数,以便于我们使用,python英文官方文档详细说明:点击查看, 为了方便查看,将内置函数的总结记录下来. 二. 使用说明 以下是Python3版本所有的内置函数: 1. abs() 获取绝对值 >>> abs(-10) 10 >>> abs(10) 10 >>> abs(0) 0 >>> a = -10 >>> a.__abs__() 10 2. all() 接受一个迭代

Python内置函数详解——总结篇

2个多月来,将3.5版本中的68个内置函数,按顺序逐个进行了自认为详细的解析,现在是时候进行个总结了.为了方便记忆,将这些内置函数进行了如下分类:     数学运算(7个)     类型转换(24个)     序列操作(8个)     对象操作(7个)     反射操作(8个)     变量操作(2个)     交互操作(2个)     文件操作(1个)     编译执行(4个)     装饰器(3个) 数学运算 abs:求数值的绝对值 >>> abs(-2) 2 divmod:返回两个

Python3字符串各种内置函数详解

● Python3访问字符串 Python不支持单字符类型,单字符在Python中也是作为一个字符串来使用: 字符串切片截取: 空值 空值是Python里一个特殊的值,用None表示.None不能理解为0,因为0是有意义的,而None是一个特殊的空值. 最后,理解变量在计算机内存中的表示也非常重要.当我们写: a = 'ABC' 时,Python解释器干了两件事情: 在内存中创建了一个'ABC'的字符串: 在内存中创建了一个名为a的变量,并把它指向'ABC'. 也可以把一个变量a赋值给另一个变量

自学Python-内置函数详解

一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii 一.数学运算类 abs(x) 求绝对值1.参数可以是整型,也可以是复数2.若参数是负数,则返回负数的模 complex([real[, imag]]) 创建一个复数 divmod(a, b) 分别取商和余数注意:整型.浮点型都可以 float([x]) 将一个字符串或数转换为浮点数.如果无参数将返

序列内置方法详解(string/list/tuple)

一.常用方法集合 1.1.string,字符串常用方法 以下举例是python2.7测试: 函数名称 作用 举例 str.capitalize() 字符串第一个字符如果是字母,则把字母替换为大写字母.然后返回新的字符串 >>> l = 'abc cba' >>> l.capitalize() 'Abc cba' >>> l.capitalize() '2b 3c' str.center() 字符串设置为指定字符宽度,并居中.默认是用空格填充前后空白字符