[ 
https://issues.apache.org/jira/browse/FLINK-9461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16495233#comment-16495233
 ] 

Fabian Hueske commented on FLINK-9461:
--------------------------------------

Why should the API depend on the connector? All our connectors are tied to an 
API and the Table API / SQL is an API just like the DataStream or DataSet API. 
Should the DataStream API depend on Kafka (and Kinesis, Cassandra, ES, ...)?
The API provides an interface and the connectors implement the interface. We 
followed that pattern for all APIs and connectors.

Moving all connector-related API classes to {{flink-core}} as suggested by 
[~Zentol] would require a larger refactoring because some API classes reference 
core classes of the Table API (implemented in Scala). 

I'm not opposed to move connectors into individual modules but IMO, the 
question is whether a few additional classes in a JAR file justify fragmenting 
the connectors into API specific modules.




> Disentangle flink-connector-kafka from flink-table and flink-json
> -----------------------------------------------------------------
>
>                 Key: FLINK-9461
>                 URL: https://issues.apache.org/jira/browse/FLINK-9461
>             Project: Flink
>          Issue Type: Improvement
>          Components: Build System
>    Affects Versions: 1.5.0
>            Reporter: Till Rohrmann
>            Priority: Major
>             Fix For: 1.6.0
>
>
> Currently, the {{flink-connector-kafka}} module has a dependency on 
> {{flink-table}} and {{flink-json}}. The reason seems to be that the module 
> contains the {{KafkaJsonTableSource}} and {{KafkaJsonTableSink}}. Even though 
> the {{flink-table}} and {{flink-json}} dependency are marked as optional, the 
> {{flink-connector-kafka}} will still contain the table sources and sinks. I 
> think this is not a clean design.
> I would propose to move the table sources and sinks into a dedicated module 
> which depends on {{flink-connector-kafka}}. That way we would better separate 
> dependencies and could remove {{flink-table}} and {{flink-json}} from 
> {{flink-connector-kafka}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to