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