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)

Reply via email to