数据湖探索 DLI-自定义函数类型推导:操作场景
操作场景
类型推导包含了验证输入值、派生参数和返回值数据类型。从逻辑角度看,Planner需要知道数据类型、精度和小数位数;从 JVM 角度来看,Planner 在调用自定义函数时需要知道如何将内部数据结构表示为JVM对象。
Flink 自定义函数实现了自动的类型推导提取,通过反射从函数的类及其求值方法中派生数据类型。然而以反射方式提取数据类型并不总是成功的,比如UDTF中常见的Row类型。
由于 Flink 1.11 起引入了新的自定义函数注册接口,使用了新的自定义函数类型推断机制,因此原先1.10 重载 getResultType 声明返回字段类型的方式将不再可用。继续使用会抛出如下异常:
Caused by: org.apache.flink.table.api.ValidationException: Cannot extract a data type from a pure 'org.apache.flink.types.Row' class. Please use annotations to define field names and field types.
目前 Flink 1.15 可以通过使用DataTypeHint 和FunctionHint 注解相关参数、类或方法来支持提取过程。
- 华为GaussDB自定义函数_GaussDB教程_华为高斯数据库自定义函数
- GaussDB数据库自定义函数_GaussDB 华为_高斯数据库自定义函数
- GaussDB支持的函数_GaussDB函数类型解析_高斯数据库支持的函数-华为云
- ModelArts自定义镜像_自定义镜像简介_如何使用自定义镜像
- 什么是数据湖探索服务_数据湖探索DLI用途与特点
- 华为云事件网格_事件源_事件目标
- GaussDB函数_GaussDB数据库函数_高斯数据库函数_华为云
- 调用函数_函数调用方式_函数工作流 FunctionGraph-华为云
- GaussDB数据库函数_GaussDB函数和操作符_高斯数据库函数-华为云
- 华为云内容审核服务_内容审核有什么作用_华为云内容审核的优势