You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Timo Walther (Jira)" <ji...@apache.org> on 2021/03/19 10:03:00 UTC

[jira] [Created] (FLINK-21872) Create a utility to create DataStream API's DataType and Schema

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)