Class AbstractStreamTableEnvironmentImpl
- java.lang.Object
-
- org.apache.flink.table.api.internal.TableEnvironmentImpl
-
- org.apache.flink.table.api.bridge.internal.AbstractStreamTableEnvironmentImpl
-
- All Implemented Interfaces:
TableEnvironmentInternal
,TableEnvironment
- Direct Known Subclasses:
StreamTableEnvironmentImpl
@Internal public abstract class AbstractStreamTableEnvironmentImpl extends TableEnvironmentImpl
Abstract class to implement aStreamTableEnvironment
.
-
-
Field Summary
Fields Modifier and Type Field Description protected StreamExecutionEnvironment
executionEnvironment
-
Fields inherited from class org.apache.flink.table.api.internal.TableEnvironmentImpl
execEnv, functionCatalog, planner, resourceManager, tableConfig
-
-
Constructor Summary
Constructors Constructor Description AbstractStreamTableEnvironmentImpl(CatalogManager catalogManager, ModuleManager moduleManager, ResourceManager resourceManager, TableConfig tableConfig, Executor executor, FunctionCatalog functionCatalog, Planner planner, boolean isStreamingMode, StreamExecutionEnvironment executionEnvironment)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <T> DataStreamQueryOperation<T>
asQueryOperation(DataStream<T> dataStream, Optional<List<Expression>> fields)
void
attachAsDataStream(List<ModifyOperation> modifyOperations)
StreamExecutionEnvironment
execEnv()
This is a temporary workaround for Python API.protected <T> TypeInformation<T>
extractTypeInformation(Table table, Class<T> clazz)
protected <T> Table
fromStreamInternal(DataStream<T> dataStream, Schema schema, String viewPath, ChangelogMode changelogMode)
static Executor
lookupExecutor(ClassLoader classLoader, StreamExecutionEnvironment executionEnvironment)
protected QueryOperation
qualifyQueryOperation(ObjectIdentifier identifier, QueryOperation queryOperation)
Subclasses can override this method to transform the given QueryOperation to a new one with the qualified object identifier.protected <T> DataStream<T>
toStreamInternal(Table table, SchemaTranslator.ProducingResult schemaTranslationResult, ChangelogMode changelogMode)
protected <T> DataStream<T>
toStreamInternal(Table table, ModifyOperation modifyOperation)
protected void
validateTimeCharacteristic(boolean isRowtimeDefined)
protected <T> DataType
wrapWithChangeFlag(TypeInformation<T> outputType)
-
Methods inherited from class org.apache.flink.table.api.internal.TableEnvironmentImpl
compilePlan, compilePlanSql, create, create, createCatalog, createFunction, createFunction, createFunction, createFunction, createStatementSet, createTable, createTable, createTemporaryFunction, createTemporaryFunction, createTemporaryFunction, createTemporarySystemFunction, createTemporarySystemFunction, createTemporarySystemFunction, createTemporaryTable, createTemporaryView, dropFunction, dropTemporaryFunction, dropTemporarySystemFunction, dropTemporaryTable, dropTemporaryView, executeCachedPlanInternal, executeInternal, executeInternal, executePlan, executeSql, explainInternal, explainPlan, explainSql, from, from, fromTableSource, fromValues, fromValues, fromValues, fromValues, fromValues, fromValues, generatePipelineFromQueryOperation, getCatalog, getCatalogManager, getCompletionHints, getConfig, getCurrentCatalog, getCurrentDatabase, getOperationTreeBuilder, getParser, getPlanner, listCatalogs, listDatabases, listFullModules, listFunctions, listModules, listTables, listTables, listTemporaryTables, listTemporaryViews, listUserDefinedFunctions, listViews, loadModule, loadPlan, registerCatalog, registerFunction, registerTable, registerTableSinkInternal, registerTableSourceInternal, scan, sqlQuery, translate, unloadModule, useCatalog, useDatabase, useModules, validateTableSource
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.flink.table.api.TableEnvironment
executePlan, explainSql
-
Methods inherited from interface org.apache.flink.table.api.internal.TableEnvironmentInternal
explainInternal
-
-
-
-
Field Detail
-
executionEnvironment
protected final StreamExecutionEnvironment executionEnvironment
-
-
Constructor Detail
-
AbstractStreamTableEnvironmentImpl
public AbstractStreamTableEnvironmentImpl(CatalogManager catalogManager, ModuleManager moduleManager, ResourceManager resourceManager, TableConfig tableConfig, Executor executor, FunctionCatalog functionCatalog, Planner planner, boolean isStreamingMode, StreamExecutionEnvironment executionEnvironment)
-
-
Method Detail
-
lookupExecutor
public static Executor lookupExecutor(ClassLoader classLoader, StreamExecutionEnvironment executionEnvironment)
-
fromStreamInternal
protected <T> Table fromStreamInternal(DataStream<T> dataStream, @Nullable Schema schema, @Nullable String viewPath, ChangelogMode changelogMode)
-
toStreamInternal
protected <T> DataStream<T> toStreamInternal(Table table, SchemaTranslator.ProducingResult schemaTranslationResult, @Nullable ChangelogMode changelogMode)
-
toStreamInternal
protected <T> DataStream<T> toStreamInternal(Table table, ModifyOperation modifyOperation)
-
execEnv
@Internal public StreamExecutionEnvironment execEnv()
This is a temporary workaround for Python API. Python API should not use StreamExecutionEnvironment at all.
-
extractTypeInformation
protected <T> TypeInformation<T> extractTypeInformation(Table table, Class<T> clazz)
-
wrapWithChangeFlag
protected <T> DataType wrapWithChangeFlag(TypeInformation<T> outputType)
-
asQueryOperation
protected <T> DataStreamQueryOperation<T> asQueryOperation(DataStream<T> dataStream, Optional<List<Expression>> fields)
-
validateTimeCharacteristic
protected void validateTimeCharacteristic(boolean isRowtimeDefined)
-
qualifyQueryOperation
protected QueryOperation qualifyQueryOperation(ObjectIdentifier identifier, QueryOperation queryOperation)
Description copied from class:TableEnvironmentImpl
Subclasses can override this method to transform the given QueryOperation to a new one with the qualified object identifier. This is needed for some QueryOperations, e.g. JavaDataStreamQueryOperation, which doesn't know the registered identifier when created (fromDataStream(DataStream)
. But the identifier is required when converting this QueryOperation to RelNode.- Overrides:
qualifyQueryOperation
in classTableEnvironmentImpl
-
attachAsDataStream
public void attachAsDataStream(List<ModifyOperation> modifyOperations)
-
-