Class TimePartitioning

  • All Implemented Interfaces:
    Serializable

    public abstract class TimePartitioning
    extends Object
    implements Serializable
    Objects of this class allow to configure table partitioning based on time. By dividing a large table into smaller partitions, you can improve query performance and reduce the number of bytes billed by restricting the amount of data scanned.
    See Also:
    Partitioned Tables, Serialized Form
    • Method Detail

      • getExpirationMs

        @Nullable
        public abstract Long getExpirationMs()
        Returns the number of milliseconds for which to keep the storage for a partition. When expired, the storage for the partition is reclaimed. If null, the partion does not expire.
      • getField

        @BetaApi
        @Nullable
        public abstract String getField()
        If not set, the table is partitioned by pseudo column '_PARTITIONTIME'; if set, the table is partitioned by this field.
      • getRequirePartitionFilter

        @BetaApi
        @Nullable
        public abstract Boolean getRequirePartitionFilter()
        If set to true, queries over this table require a partition filter (that can be used for partition elimination) to be specified.
      • of

        public static TimePartitioning of​(TimePartitioning.Type type,
                                          long expirationMs)
        Returns a TimePartitioning object given the time partitioning type and the partition's expiration in milliseconds.
        Parameters:
        type - the time partitioning type.
        expirationMs - the number of milliseconds for which to keep the storage for a partition