Interface Table

All Known Subinterfaces:
StagedTable, SupportsAtomicPartitionManagement, SupportsDelete, SupportsDeleteV2, SupportsIndex, SupportsMetadataColumns, SupportsPartitionManagement, SupportsRead, SupportsRowLevelOperations, SupportsWrite, TruncatableTable, V2TableWithV1Fallback

@Evolving public interface Table
An interface representing a logical structured data set of a data source. For example, the implementation can be a directory on the file system, a topic of Kafka, or a table in the catalog, etc.

This interface can mixin SupportsRead and SupportsWrite to provide data reading and writing ability.

The default implementation of partitioning() returns an empty array of partitions, and the default implementation of properties() returns an empty map. These should be overridden by implementations that support partitioning and table properties.

  • Method Details

    • name

      String name()
      A name to identify this table. Implementations should provide a meaningful name, like the database and table name from catalog, or the location of files for this table.
    • schema

      Returns the schema of this table. If the table is not readable and doesn't have a schema, an empty schema can be returned here.

      This is deprecated. Please override columns() instead.

    • columns

      default Column[] columns()
      Returns the columns of this table. If the table is not readable and doesn't have a schema, an empty array can be returned here.
    • partitioning

      default Transform[] partitioning()
      Returns the physical partitioning of this table.
    • properties

      default Map<String,String> properties()
      Returns the string map of table properties.
    • capabilities

      Set<TableCapability> capabilities()
      Returns the set of capabilities for this table.