[ https://issues.apache.org/jira/browse/FLINK-3871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729420#comment-15729420 ]
ASF GitHub Bot commented on FLINK-3871: --------------------------------------- Github user fhueske commented on the issue: https://github.com/apache/flink/pull/2762 Hi @mushketyk, while reviewing your PR I noticed a significant shortcoming of the `TableSource` interface. `TableSource` does not support nested schemas. IMO, this needs to be fixed before we can have a proper integration of Avro integration with the Table API / SQL. I created [FLINK-5280](https://issues.apache.org/jira/browse/FLINK-5280) and also updated the description of this issue ([FLINK-3871](https://issues.apache.org/jira/browse/FLINK-3871). The `KafkaJsonTableSource` needs to be reworked to support nested data as well ([FLINK-5281](https://issues.apache.org/jira/browse/FLINK-5281)). I think we have to pause this PR until FLINK-5280 is resolved. What do you think? Best, Fabian > Add Kafka TableSource with Avro serialization > --------------------------------------------- > > Key: FLINK-3871 > URL: https://issues.apache.org/jira/browse/FLINK-3871 > Project: Flink > Issue Type: New Feature > Components: Table API & SQL > Reporter: Fabian Hueske > > Add a Kafka TableSource which supports Avro serialized data. > The KafkaAvroTableSource should support two modes: > # SpecificRecord Mode: In this case the user specifies a class which was > code-generated by Avro depending on a schema. Flink treats these classes as > regular POJOs. Hence, they are also natively supported by the Table API and > SQL. Classes generated by Avro contain their Schema in a static field. The > schema should be used to automatically derive field names and types. Hence, > there is no additional information required than the name of the class. > # GenericRecord Mode: In this case the user specifies an Avro Schema. The > schema is used to deserialize the data into a GenericRecord which must be > translated into possibly nested {{Row}} based on the schema information. > Again, the Avro Schema is used to automatically derive the field names and > types. This mode is less efficient than the SpecificRecord mode because the > {{GenericRecord}} needs to be converted into {{Row}}. > This feature depends on FLINK-5280, i.e., support for nested data in > {{TableSource}}. -- This message was sent by Atlassian JIRA (v6.3.4#6332)