Hi, Thanks Dawid for starting such a great discussion. Reaing metadata and key-part information from source is an important feature for streaming users.
In general, I agree with the proposal of the FLIP. I will leave my thoughts and comments here: 1) +1 to use connector properties instead of introducing HEADER keyword as the reason you mentioned in the FLIP. 2) we already introduced PARTITIONED BY in FLIP-63. Maybe we should add a section to explain what's the relationship between them. Do their concepts conflict? Could INSERT PARTITION be used on the PARTITIONED table in this FLIP? 3) Currently, properties are hierarchical in Flink SQL. Shall we make the new introduced properties more hierarchical? For example, "timestamp" => "connector.timestamp"? (actually, I prefer "kafka.timestamp" which is another improvement for properties FLINK-12557) A single "timestamp" in properties may mislead users that the field is a rowtime attribute. I also left some minor comments in the FLIP. Thanks, Jark On Sun, 1 Mar 2020 at 22:30, Dawid Wysakowicz <dwysakow...@apache.org> wrote: > Hi, > > I would like to propose an improvement that would enable reading table > columns from different parts of source records. Besides the main payload > majority (if not all of the sources) expose additional information. It > can be simply a read-only metadata such as offset, ingestion time or a > read and write parts of the record that contain data but additionally > serve different purposes (partitioning, compaction etc.), e.g. key or > timestamp in Kafka. > > We should make it possible to read and write data from all of those > locations. In this proposal I discuss reading partitioning data, for > completeness this proposal discusses also the partitioning when writing > data out. > > I am looking forward to your comments. > > You can access the FLIP here: > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-107%3A+Reading+table+columns+from+different+parts+of+source+records?src=contextnavpagetreemode > > Best, > > Dawid > > >