Interface PartitionableTableSource


@Deprecated @Internal public interface PartitionableTableSource
Deprecated.
This interface will not be supported in the new source design around DynamicTableSource. Use SupportsPartitionPushDown instead. See FLIP-95 for more information.
An interface for partitionable TableSource.

A PartitionableTableSource can exclude partitions from reading, which includes skipping the metadata. This is especially useful when there are thousands of partitions in a table.

A partition is represented as a Map<String, String> which maps from partition field name to partition value. Since the map is NOT ordered, the correct order of partition fields should be obtained via partition keys of catalog table.

  • Method Details

    • getPartitions

      List<Map<String,String>> getPartitions()
      Deprecated.
      Returns all the partitions of this PartitionableTableSource.
    • applyPartitionPruning

      TableSource applyPartitionPruning(List<Map<String,String>> remainingPartitions)
      Deprecated.
      Applies the remaining partitions to the table source. The remainingPartitions is the remaining partitions of getPartitions() after partition pruning applied.

      After trying to apply partition pruning, we should return a new TableSource instance which holds all pruned-partitions.

      Parameters:
      remainingPartitions - Remaining partitions after partition pruning applied.
      Returns:
      A new cloned instance of TableSource holds all pruned-partitions.