Fabian Hueske created FLINK-10156:
-------------------------------------

             Summary: Drop the Table.writeToSink() method
                 Key: FLINK-10156
                 URL: https://issues.apache.org/jira/browse/FLINK-10156
             Project: Flink
          Issue Type: Improvement
          Components: Table API & SQL
            Reporter: Fabian Hueske


I am proposing to drop the {{Table.writeToSink()}} method.
 
*What is the method doing?*
The {{Table.writeToSink(TableSink)}} method emits a {{Table}} via a 
{{TableSink}}, for example to a Kafka topic, a file, or a database.
 
*Why should it be removed?*
The {{writeToSink()}} method was introduced before the Table API supported the 
{{Table.insertInto(String)}} method. The {{insertInto()}} method writes a table 
into a table that was previously registered with a {{TableSink}} in the 
catalog. It is the inverse method to the {{scan()}} method and the equivalent 
to an {{INSERT INTO ... SELECT}} SQL query.
 
I think we should remove {{writeToSink()}} for the following reasons:
1. It offers the same functionality as {{insertInto()}}. Removing it would 
reduce duplicated API.
2. {{writeToSink()}} requires a {{TableSink}} instance. I think TableSinks (and 
TableSources) should only be registered with the {{TableEnvironment}} and not 
be exposed to the "query part" of the Table API / SQL.
3. Registering tables in a catalog and using them for input and output is more 
aligned with SQL.
 



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

Reply via email to