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)