知识卡片
TypeInformation补类型
内容
Flink 需要 TypeInformation 理解数据类型并选择序列化方式;Java 泛型擦除(见[[泛型把类型参数化]])会让部分返回类型无法自动推断。发散:流式框架比普通业务代码更依赖运行期类型元信息。
参考来源
- 位置:《Flink原理与实践》第4章《DataStream API的介绍和使用》(源文件:_epub-src/OEBPS/Text/chapter07.xhtml)
- 结论依据:原文围绕“Flink无法自动获取返回类型”给出定义、流程、对比或限制条件,本卡片据此提炼其可迁移的框架机制,并补充了使用边界或工程启发。
- 原始内容:第2章中提到,Java有类型擦除问题,void flatMap(IN value,Collector<OUT>out)被编译成了void flatMap(IN value,Collector out),擦除了泛型信息,Flink无法自动获取返回类型,如果不做其他操作,程序会抛出异常。