Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
FLIP-136 defines the following behavior that should be supported by such a utility:
- Since the type system of Table API is more powerful than DataStream API that uses TypeExtraction, it enables replacing GenericTypeInfo with a more meaningful DataType. E.g. for supporting immutable POJOs as StructuredType instead of RawType. Or Lists as ArrayTypes instead of RawTypes.
- We will perform verification based on what is available in TypeInformation.
- Type coercion between an explicitly specified Schema and DataStream will not happen (e.g. DataStream<Integer> != Schema.column("f", DataTypes.BIGINT())). Because the user specified the desired data type explicitly and expects correctness.
- It allows to define a `system_rowtime` attribute for using the StreamRecord's timestamp and existing watermarks.
- It allows to reorder fields and thus has similar functionality as the Expression-based API before but with a more consistent API.
- Users can place the definition time attributes at arbitrary locations between existing fields.
- We can give time attributes a name in the same way as in regular DDL.
- By using `system_rowtime().as("rowtime")` the watermark would be assigned implicitly.
Attachments
Issue Links
- links to