@PublicEvolving public interface DefinedFieldMapping
DefinedFieldMapping
interface provides a mapping for the fields of the table schema
(TableSource.getTableSchema()
to fields of the physical produced data type
TableSource.getProducedDataType()
of a TableSource
.
If a TableSource
does not implement the DefinedFieldMapping
interface, the fields of
its TableSchema
are mapped to the fields of its produced DataType
by name.
If the fields cannot or should not be implicitly mapped by name, an explicit mapping can be provided by implementing this interface.
If a mapping is provided, all fields must be explicitly mapped.
Modifier and Type | Method and Description |
---|---|
Map<String,String> |
getFieldMapping()
Returns the mapping for the fields of the
TableSource 's TableSchema to the fields of
its produced DataType . |
@Nullable Map<String,String> getFieldMapping()
TableSource
's TableSchema
to the fields of
its produced DataType
.
The mapping is done based on field names, e.g., a mapping "name" -> "f1" maps the schema field
"name" to the field "f1" of the produced data type, for example in this case the second field of a
Tuple
.
The returned mapping must map all fields (except proctime and rowtime fields) to the produced data
type. It can also provide a mapping for fields which are not in the TableSchema
to make
fields in the physical DataType
accessible for a TimestampExtractor
.
TableSchema
fields to DataType
fields or
null if no mapping is necessary.Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.