Interface DefinedFieldMapping


@Deprecated @Internal public interface DefinedFieldMapping
Deprecated.
This interface will not be supported in the new source design around DynamicTableSource. See FLIP-95 for more information.
The 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.

  • Method Details

    • getFieldMapping

      @Nullable Map<String,String> getFieldMapping()
      Deprecated.
      Returns the mapping for the fields of the 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.

      Returns:
      A mapping from TableSchema fields to DataType fields or null if no mapping is necessary.