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)