Timo Walther created FLINK-21872:
------------------------------------
Summary: Create a utility to create DataStream API's DataType and Schema
Key: FLINK-21872
URL:
https://issues.apache.org/jira/browse/FLINK-21872 Project: Flink
Issue Type: Sub-task
Components: Table SQL / API
Reporter: Timo Walther
Assignee: Timo Walther
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.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)