Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Implemented
-
None
-
None
Description
Add a ProjectableTableSource interface for TableSource implementation that support projection push-down.
The interface could look as follows
def trait ProjectableTableSource {
def setProjection(fields: Array[String]): Unit
}
In addition we need Calcite rules to push a projection into a TableScan that refers to a ProjectableTableSource. We might need to tweak the cost model as well to push the optimizer in the right direction.
Moreover, the CsvTableSource could be extended to implement ProjectableTableSource.
Attachments
Issue Links
- is blocked by
-
FLINK-5226 Eagerly project unused attributes
- Closed
- is required by
-
FLINK-2168 Add HBaseTableSource
- Closed
-
FLINK-2169 Add ParquetTableSource
- Closed
-
FLINK-2170 Add OrcTableSource
- Closed
- links to