Hash and hash partitioning
Kudu can support any number of hash partitioning levels in the same table, as long as the levels have no hashed columns in common.
In the example above, the table is hash partitioned on
host into 4 buckets, and hash partitioned on
metric into 3 buckets, resulting in 12 tablets.
Although writes will tend to be spread among all tablets when using this strategy, it is slightly
more prone to hot-spotting than when hash partitioning over multiple independent columns, since
all values for an individual host or metric will always belong to a single tablet. Scans can take
advantage of equality predicates on the
metric columns separately to prune partitions.
Multiple levels of hash partitioning can also be combined with range partitioning, which logically adds another dimension of partitioning.