tencent cloud

流计算 Oceanus

动态与公告
产品动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
计费模式
退费说明
调整配置费用说明
快速入门
从零开始上手
创建独享集群
创建 SQL 作业
创建 JAR 作业
创建 ETL 作业
创建 Python 作业
操作指南
作业管理
作业开发
作业监控
作业日志
事件与诊断
元数据管理
快照管理
作业调优
依赖管理
集群管理
权限管理
SQL 开发指南
开发指南概述
术语和数据类型
DDL 数据定义语句
DML 数据操作语句
MySQL CDC 多 Source 复用
上下游开发指南
SET 控制语句
运算符和内置函数
标识符与保留字
Python 开发指南
ETL 开发指南
概述
ETL 作业术语表
上下游开发指南
常见问题
联系我们

内置函数差异对比

PDF
聚焦模式
字号
最后更新时间: 2023-11-08 14:20:55
流计算 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 条件的右表。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈