Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Done
-
None
Description
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.
Attachments
Issue Links
- links to