检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
自定义函数 概述 DLI支持三种自定义函数: UDF:自定义函数,支持一个或多个输入参数,返回一个结果值。 UDTF:自定义表值函数,支持一个或多个输入参数,可返回多行多列。 UDAF:自定义聚合函数,将多条记录聚合成一个值。 暂不支持通过python写UDF、UDTF、UDAF自定义函数。
date_sub date_sub函数按照days幅度递减startdate日期的天数。 如需要获取当前日期基础上指定变动幅度的日期,可结合current_date或getdate函数共同使用。 请注意date_sub函数与date_add函数逻辑反。 命令格式 date_sub(string
shiftright shiftright函数用于有符号右移,将a的二进制数按位右移b位。 命令格式 shiftright(BIGINT a, BIGINT b) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。
factorial factorial函数用于返回a的阶乘。 命令格式 factorial(INT a) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 BIGINT、INT、SMALLINT、TINYINT类型。 参数a的格式为整数格式。 参数a非INT类型时,会隐式转换为INT类型后参与运算。
atan atan函数用于返回给定角度a的反正切值。 命令格式 atan(DOUBLE a) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。 参数a的格式包括浮点数格式、整数格式、字符串格式。 参数
asin asin函数用于返回给定角度a的反正弦值。 命令格式 asin(DOUBLE a) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。 参数a取值范围为[-1,1],a的格式包括浮点数格式、整数格式、字符串格式。
isdate isdate函数用于判断一个日期字符串能否根据指定的格式转换为一个日期值。 命令格式 isdate(string date , string format) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE 或 STRING 代表需要判断的字符串。
shiftleft shiftleft函数用于有符号左移,将a的二进制数按位左移b位。 命令格式 shiftleft(BIGINT a, BIGINT b) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。
pmod pmod函数用于返回a除b的余数的绝对值。 命令格式 pmod(INT a, INT b) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。 参数a的格式包括浮点数格式、整数格式、字符串格式。
current_date current_date函数用于返回当前日期值。返回值格式为yyyy-mm-dd。 相似函数:getdate,getdate函数用于返回当前系统时间。返回值格式为yyyy-mm-dd hh:mi:ss。 命令格式 current_date() 参数说明 无
sign sign函数用于返回a所对应的正负号。 命令格式 sign(DOUBLE a) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 a 是 DOUBLE、BIGINT、DECIMAL、STRING类型。 参数a的格式包括浮点数格式、整数格式、字符串格式。 返回值说明
自定义函数类型推导 操作场景 类型推导包含了验证输入值、派生参数和返回值数据类型。从逻辑角度看,Planner需要知道数据类型、精度和小数位数;从 JVM 角度来看,Planner 在调用自定义函数时需要知道如何将内部数据结构表示为JVM对象。 Flink 自定义函数实现了自动的
log log函数根据给定底数及指数返回自然对数。 命令格式 log(DOUBLE base, DOUBLE a) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 base 是 DOUBLE、BIGINT、DECIMAL、STRING类型。 参数base的格式包括浮点数格式、整数格式、字符串格式。
string_split string_split函数,根据指定的分隔符将目标字符串拆分为子字符串,并返回子字符串列表。 语法说明 string_split(target, separator) 表1 string_split参数说明 参数 数据类型 说明 target STRING
datediff1 datediff1函数用于计算两个时间date1、date2的差值,将差值以指定的时间单位datepart表示。 相似函数:datediff,datediff函数用于计算两个时间date1、date2的日期差值,不支持指定返回的时间单位。 命令格式 datediff1(string
sum sum函数用于计算求和。 命令格式 sum(col), sum(DISTINCT col) 参数说明 表1 参数说明 参数 是否必选 说明 col 是 列值支持所有数据类型,可以转换为DOUBLE类型后参与运算。 列值可以为DOUBLE、DECIMAL或BIGINT类型。
datepart datepart函数用于计算日期date中符合指定时间单位datepart的值。 命令格式 datepart(string date,string datepart) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE 或 STRING
year year函数用于返回指定日期中的年份。 命令格式 year(string date) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE或STRING 需要处理的日期。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd
to_date to_date函数用于返回时间中的年月日。 相似函数:to_date1,to_date1函数用于将指定格式的字符串转换为日期值,支持指定转换的日期格式。 命令格式 to_date(string timestamp) 参数说明 表1 参数说明 参数 是否必选 参数类型
hour hour函数用于返回指定时间的小时,范围为0到23。 命令格式 hour(string date) 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE 或 STRING 代表需要处理的日期。 格式为: yyyy-mm-dd yyyy-mm-dd