a)将 DataStream 转换成表
DataStream
可以直接转换为 StreamTableEnvironment
中的 Table
,结果视图的架构取决于注册集合的数据类型。
StreamTableEnvironment tableEnv = ...;
DataStream<Tuple2<Long, String>> stream = ...;
Table table2 = tableEnv.fromDataStream(stream, $("myLong"), $("myString"));
b)将表转换成 DataStream
Table
可以被转换成 DataStream
,通过这种方式,定制的 DataStream 程序就可以在 Table API 或者 SQL 的查询结果上运行了。
将 Table
转换为 DataStream
时,需要指定生成的 DataStream
的数据类型,即Table
的每行数据要转换成的数据类型;通常最方便的选择是转换成 Row
,以下列表概述了不同选项的功能:
- Row: 字段按位置映射,字段数量任意,支持
null
值,无类型安全(type-safe)检查。 - POJO: 字段按名称映射(POJ