Interface DynamicTableSource
-
- All Known Subinterfaces:
LookupTableSource
,ScanTableSource
- All Known Implementing Classes:
DataGenTableSource
,FileSystemTableSource
,HiveLookupTableSource
,HiveTableSource
,PythonDynamicTableSource
,SocketDynamicTableSource
,TestScanTableSourceWithWatermarkPushDown
@PublicEvolving public interface DynamicTableSource
Source of a dynamic table from an external storage system.Dynamic tables are the core concept of Flink's Table & SQL API for processing both bounded and unbounded data in a unified fashion. By definition, a dynamic table can change over time.
When reading a dynamic table, the content can either be considered as:
- A changelog (finite or infinite) for which all changes are consumed continuously until the
changelog is exhausted. See
ScanTableSource
for more information. - A continuously changing or very large external table whose content is usually never read
entirely but queried for individual values when necessary. See
LookupTableSource
for more information.
Note: Both interfaces can be implemented at the same time. The planner decides about their usage depending on the specified query.
Instances of the above-mentioned interfaces can be seen as factories that eventually produce concrete runtime implementation for reading the actual data.
Depending on the optionally declared abilities such as
SupportsProjectionPushDown
orSupportsFilterPushDown
, the planner might apply changes to an instance and thus mutates the produced runtime implementation.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
DynamicTableSource.Context
Base context for creating runtime implementation via aScanTableSource.ScanRuntimeProvider
andLookupTableSource.LookupRuntimeProvider
.static interface
DynamicTableSource.DataStructureConverter
Converter for mapping between objects and Flink's internal data structures during runtime.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
asSummaryString()
Returns a string that summarizes this source for printing to a console or log.DynamicTableSource
copy()
Creates a copy of this instance during planning.
-
-
-
Method Detail
-
copy
DynamicTableSource copy()
Creates a copy of this instance during planning. The copy should be a deep copy of all mutable members.
-
asSummaryString
String asSummaryString()
Returns a string that summarizes this source for printing to a console or log.
-
-