@Internal public final class DynamicSinkUtils extends Object
DynamicTableSink
.Modifier and Type | Method and Description |
---|---|
static org.apache.calcite.rel.RelNode |
convertCollectToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
CollectModifyOperation collectModifyOperation)
Converts an
TableResult.collect() sink to a RelNode . |
static org.apache.calcite.rel.RelNode |
convertExternalToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
ExternalModifyOperation externalModifyOperation)
Converts an external sink (i.e.
|
static org.apache.calcite.rel.RelNode |
convertSinkToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
CatalogSinkModifyOperation sinkModifyOperation,
DynamicTableSink sink,
ResolvedCatalogTable table)
Converts a given
DynamicTableSink to a RelNode . |
static org.apache.calcite.rel.RelNode |
validateSchemaAndApplyImplicitCast(org.apache.calcite.rel.RelNode query,
ResolvedSchema sinkSchema,
ObjectIdentifier sinkIdentifier,
DataTypeFactory dataTypeFactory,
org.apache.flink.table.planner.calcite.FlinkTypeFactory typeFactory)
Checks if the given query can be written into the given sink's table schema.
|
public static org.apache.calcite.rel.RelNode convertCollectToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, CollectModifyOperation collectModifyOperation)
TableResult.collect()
sink to a RelNode
.public static org.apache.calcite.rel.RelNode convertExternalToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, ExternalModifyOperation externalModifyOperation)
DataStream
transformations) to a RelNode
.public static org.apache.calcite.rel.RelNode convertSinkToRel(org.apache.flink.table.planner.calcite.FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, CatalogSinkModifyOperation sinkModifyOperation, DynamicTableSink sink, ResolvedCatalogTable table)
DynamicTableSink
to a RelNode
. It adds helper projections if
necessary.public static org.apache.calcite.rel.RelNode validateSchemaAndApplyImplicitCast(org.apache.calcite.rel.RelNode query, ResolvedSchema sinkSchema, @Nullable ObjectIdentifier sinkIdentifier, DataTypeFactory dataTypeFactory, org.apache.flink.table.planner.calcite.FlinkTypeFactory typeFactory)
It checks whether field types are compatible (types should be equal including precisions). If types are not compatible, but can be implicitly cast, a cast projection will be applied. Otherwise, an exception will be thrown.
Copyright © 2014–2022 The Apache Software Foundation. All rights reserved.