@Internal public final class BlinkPlannerFactory extends Object implements PlannerFactory
BatchPlanner
or StreamPlanner
.Constructor and Description |
---|
BlinkPlannerFactory() |
Modifier and Type | Method and Description |
---|---|
Planner |
create(Map<String,String> properties,
Executor executor,
TableConfig tableConfig,
FunctionCatalog functionCatalog,
CatalogManager catalogManager)
Creates a corresponding
Planner . |
Map<String,String> |
optionalContext()
Specifies a context of optional parameters that if exist should have the given values.
|
Map<String,String> |
requiredContext()
Specifies the context that this factory has been implemented for.
|
List<String> |
supportedProperties()
List of property keys that this factory can handle.
|
public Planner create(Map<String,String> properties, Executor executor, TableConfig tableConfig, FunctionCatalog functionCatalog, CatalogManager catalogManager)
PlannerFactory
Planner
.create
in interface PlannerFactory
properties
- Static properties of the Planner
, the same that were used for
factory lookup.executor
- The executor required by the planner.tableConfig
- The configuration of the planner to use.functionCatalog
- The function catalog to look up user defined functions.catalogManager
- The catalog manager to look up tables and views.Planner
public Map<String,String> optionalContext()
ComponentFactory
ComponentFactory.requiredContext()
and ComponentFactory.supportedProperties()
.
NOTE: All the property keys should be included in ComponentFactory.supportedProperties()
.
optionalContext
in interface ComponentFactory
public Map<String,String> requiredContext()
TableFactory
Typical properties might be: - connector.type - format.type
Specified property versions allow the framework to provide backwards compatible properties in case of string format changes: - connector.property-version - format.property-version
An empty context means that the factory matches for all requests.
requiredContext
in interface ComponentFactory
requiredContext
in interface TableFactory
public List<String> supportedProperties()
ComponentFactory
Example properties might be: - schema.#.type - schema.#.name - connector.topic - format.line-delimiter - format.ignore-parse-errors - format.fields.#.type - format.fields.#.name
Note: Use "#" to denote an array of values where "#" represents one or more digits. Property versions like "format.property-version" must not be part of the supported properties.
In some cases it might be useful to declare wildcards "*". Wildcards can only be declared at the end of a property key.
For example, if an arbitrary format should be supported: - format.*
Note: Wildcards should be used with caution as they might swallow unsupported properties and thus might lead to undesired behavior.
NOTE: All the property keys from ComponentFactory.optionalContext()
should also be
included.
supportedProperties
in interface ComponentFactory
supportedProperties
in interface TableFactory
Copyright © 2014–2021 The Apache Software Foundation. All rights reserved.