[ 
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)

Reply via email to