@Internal public final class DynamicSinkUtils extends Object
DynamicTableSink
.Modifier and Type | Method and Description |
---|---|
static org.apache.calcite.rel.RelNode |
convertCollectToRel(FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
CollectModifyOperation collectModifyOperation,
ReadableConfig configuration,
ClassLoader classLoader)
Converts an
TableResult.collect() sink to a RelNode . |
static org.apache.calcite.rel.RelNode |
convertExternalToRel(FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
ExternalModifyOperation externalModifyOperation)
Converts an external sink (i.e.
|
static org.apache.calcite.rel.RelNode |
convertSinkToRel(FlinkRelBuilder relBuilder,
org.apache.calcite.rel.RelNode input,
SinkModifyOperation sinkModifyOperation,
DynamicTableSink sink)
Converts a given
DynamicTableSink to a RelNode . |
static org.apache.calcite.rel.RelNode |
validateSchemaAndApplyImplicitCast(org.apache.calcite.rel.RelNode query,
ResolvedSchema sinkSchema,
String tableDebugName,
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(FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, CollectModifyOperation collectModifyOperation, ReadableConfig configuration, ClassLoader classLoader)
TableResult.collect()
sink to a RelNode
.public static org.apache.calcite.rel.RelNode convertExternalToRel(FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, ExternalModifyOperation externalModifyOperation)
DataStream
transformations) to a RelNode
.public static org.apache.calcite.rel.RelNode convertSinkToRel(FlinkRelBuilder relBuilder, org.apache.calcite.rel.RelNode input, SinkModifyOperation sinkModifyOperation, DynamicTableSink sink)
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, String tableDebugName, 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–2023 The Apache Software Foundation. All rights reserved.