@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–2021 The Apache Software Foundation. All rights reserved.