流计算 Oceanus 内置函数差异对比

流计算 Oceanus 在主流社区的基础上,补充并优化了部分函数。已注册函数如下表所示。

相关产品
流计算 Oceanus 产品页,含版本规格、价格与购买入口。
内置函数 流计算 Oceanus 函数定义 Flink 社区函数定义 注意点
unbase64 unbase64(string) – 流计算 Oceanus:对 base64的字符串解码,输入 string, 输出 Array[Byte]。
decode DECODE(binary,charset), DECODE(binary) DECODE(binary, string) 流计算 Oceanus:DECODE(binary)默认使用 charset="UTF-8"。Flink 社区:如果任一参数为空,则返回为空。
split SPLIT(string, separator) – 流计算 Oceanus:将 string 表示的字符串以 separator 指定的分隔符拆分,并返回一个 Row 类型的对象。
get_row_field_str GET_ROW_FIELD_STR(row, index) – 流计算 Oceanus:获取某个 Row 类型对象 row 的第 index 列的值,index 从0开始计数。返回值为字符串 VARCHAR 类型。
get_row_arity GET_ROW_ARITY(row) – 流计算 Oceanus:获取某个 Row 类型对象 row 的列数。
can_cast_to CAN_CAST_TO(str, type) – 流计算 Oceanus:判断 str 字符串是否可以被转换为 type 指定的类型,返回值为布尔型。返回值可以在 CASE 语句中作为条件使用。例如 CAN_CAST_TO('123456', 'INTEGER') 则返回 True,而 CAN_CAST_TO('a145', 'DOUBLE') 则返回 False。
date_format_simple DATE_FORMAT_SIMPLE(timestamp, simple_format) – 计算 Oceanus:将 BIGINT(Long)类型的字段(毫秒为单位的 Unix 时间戳)以 Java 的 SimpleDateFormat 支持的时间格式化模板转为字符串形式。例如 DATE_FORMAT_SIMPLE(unix_ts, 'yyyy-MM-dd HH:mm:ss') 会返回 "2020-01-01 12:13:14" 这样格式的字符串。传入 Long,返回 String。
to_timestamp TO_TIMESTAMP(string, simple_format) TO_TIMESTAMP(string1[, string2]) 流计算 Oceanus:以 Java 的 SimpleDateFormat 支持的时间格式化模板 simple_format,将 string 字符串格式化为 Timestamp 类型的时间戳。默认以东八区为准。 例如 TO_TIMESTAMP(ts, 'yyyy-MM-dd HH:mm:ss')。传入 string,返回 Timestamp。Flink 社区:一致
timestamp_to_long TIMESTAMP_TO_LONG(timestamp), TIMESTAMP_TO_LONG(timestamp, mode) – 流计算 Oceanus:将某个 TIMESTAMP 类型的参数转为 BIGINT (Long) 类型的值。若 mode 为 'SECOND',则转为以秒来计数的 Unix 时间戳,例如1548403425。若 mode 为其他值或者省略,则转为以毫秒计数的 Unix 时间戳,例如1548403425512。
get_tumble_start get_tumble_start(timestamp,windowSize), get_tumble_start(timestamp,offset,windowSize) – 流计算 Oceanus:获取窗口的起始时间,默认 offset = 0。
if_null_str IF_NULL_STR(str, defaultValue) – 流计算 Oceanus:如果 str 不为 NULL,则返回 str 本身;如果 str 为 NULL,则返回第二项参数 defaultValue。
get_json_object GET_JSON_OBJECT(json_str, path_str) – 流计算 Oceanus:获取嵌套JSON,示例可参见 文档。
split_index SPLIT_INDEX(string, separator, index) SPLIT_INDEX(string1, string2, integer1) 将 string 表示的字符串以 separator 指定的分隔符拆分,并获取第 index 项,返回值为字符串 VARCHAR 类型。其中 index 从0开始计数。流计算 Oceanus:如果 string == null 或者 separator == null 则返回 string。Flink 社区: 其中三项如果有任一项参数为空则返回 null。
first_str FIRST_VALUE(expression) FIRST_VALUE(expression) 流计算 Oceanus:聚合函数,返回一系列数据中,第一个数据。Flink 社区:一致。
last_str LAST_VALUE(expression) LAST_VALUE(expression) 流计算 Oceanus:聚合函数,返回一系列数据中,最后一个数据。Flink 社区:一致。
explode EXPLODE(inputStr, separator) – 流计算 Oceanus:将某个字符串分割为一张有多行的临时表。这个函数属于 Table Function,需要使用 LATERAL TABLE ( ) 关键字来引用此动态生成的临时表并作为 JOIN 条件的右表。
赞 (0)
上一篇 5天前
下一篇 5天前