[ 
https://issues.apache.org/jira/browse/FLINK-12708?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jark Wu updated FLINK-12708:
----------------------------
    Description: 
In order to support Blink batch and temporal table join, we need some new 
source&sink interfaces.

1. Introduce {{InputFormatTableSource}}
   - add {{isBounded}} interface to {{StreamTableSource}}
   - {{InputFormatTableSource}} extends {{StreamTableSource}} and expose 
{{getInputFormat}}
   - removes {{BatchTableSource}} and {{StreamTableSource}} in blink planner
   - support it in blink and flink planner
2. Introduce {{OutputFormatTableSink}}
   - {{OutputFormatTableSink}} extends {{StreamTableSink}} expose 
{{getOutputFormat}}
   - removes {{BatchTableSink}} in blink planner
   - support it in blink and flink planner
3. Introduce {{LookupableTableSource}}
   - removes {{LookupableTableSource}} and {{LookupConfig}} in blink planner
   - support it only in blink planner
4. Expose {{getTableStats}} in {{TableSource}}
   - support it in blink and flink planner


  was:
In order to support Blink batch and temporal table join, we need some new 
source&sink interfaces and changes about TableSchema.
 - {{AsyncTableFunction}}: used as async lookup function, to support async 
temporal table join (i.e. dimension table join.).
 - {{LookupableTableSource}}: The {{LookupableTableSource}} interface adds 
support for the table to be accessed via key column(s) in a lookup fashion in 
order to support temporal table join.
 - {{BoundedTableSource}}: used for batch table source, returns a bounded 
DataStream, not a {{InputFormat}}, because we also want to reuse existing 
streaming source implementation to support bounded source, for example: bounded 
Kafka source.
 - {{BoundedTableSink}}: used for batch table sink, emit a bounded DataStream, 
not a {{OutputFormat}}. The reason is the same as above.


> Introduce new Interfaces for source and sink to make Blink runner work
> ----------------------------------------------------------------------
>
>                 Key: FLINK-12708
>                 URL: https://issues.apache.org/jira/browse/FLINK-12708
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table SQL / API
>            Reporter: Jark Wu
>            Assignee: Jark Wu
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> In order to support Blink batch and temporal table join, we need some new 
> source&sink interfaces.
> 1. Introduce {{InputFormatTableSource}}
>    - add {{isBounded}} interface to {{StreamTableSource}}
>    - {{InputFormatTableSource}} extends {{StreamTableSource}} and expose 
> {{getInputFormat}}
>    - removes {{BatchTableSource}} and {{StreamTableSource}} in blink planner
>    - support it in blink and flink planner
> 2. Introduce {{OutputFormatTableSink}}
>    - {{OutputFormatTableSink}} extends {{StreamTableSink}} expose 
> {{getOutputFormat}}
>    - removes {{BatchTableSink}} in blink planner
>    - support it in blink and flink planner
> 3. Introduce {{LookupableTableSource}}
>    - removes {{LookupableTableSource}} and {{LookupConfig}} in blink planner
>    - support it only in blink planner
> 4. Expose {{getTableStats}} in {{TableSource}}
>    - support it in blink and flink planner



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

Reply via email to