@PublicEvolving public interface LookupTableSource extends DynamicTableSource
DynamicTableSource
that looks up rows of an external storage system by one or more keys
during runtime.
Compared to ScanTableSource
, the source does not have to read the entire table and can
lazily fetch individual values from a (possibly continuously changing) external table when
necessary.
Note: Compared to ScanTableSource
, a LookupTableSource
does only support
emitting insert-only changes currently (see also RowKind
). Further abilities are not
supported.
In the last step, the planner will call getLookupRuntimeProvider(LookupContext)
for
obtaining a provider of runtime implementation. The key fields that are required to perform a
lookup are derived from a query by the planner and will be provided in the given LookupTableSource.LookupContext.getKeys()
. The values for those key fields are passed during runtime.
Modifier and Type | Interface and Description |
---|---|
static interface |
LookupTableSource.LookupContext
Context for creating runtime implementation via a
LookupTableSource.LookupRuntimeProvider . |
static interface |
LookupTableSource.LookupRuntimeProvider
Provides actual runtime implementation for reading the data.
|
DynamicTableSource.Context, DynamicTableSource.DataStructureConverter
Modifier and Type | Method and Description |
---|---|
LookupTableSource.LookupRuntimeProvider |
getLookupRuntimeProvider(LookupTableSource.LookupContext context)
Returns a provider of runtime implementation for reading the data.
|
asSummaryString, copy
LookupTableSource.LookupRuntimeProvider getLookupRuntimeProvider(LookupTableSource.LookupContext context)
There exist different interfaces for runtime implementation which is why LookupTableSource.LookupRuntimeProvider
serves as the base interface.
Independent of the provider interface, a source implementation can work on either
arbitrary objects or internal data structures (see org.apache.flink.table.data
for
more information).
The given LookupTableSource.LookupContext
offers utilities by the planner for creating runtime
implementation with minimal dependencies to internal data structures.
TableFunctionProvider
,
AsyncTableFunctionProvider
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.