Details
-
New Feature
-
Status: Resolved
-
Major
-
Resolution: Implemented
-
None
-
None
-
None
-
ghx-label-1
Description
Implement Z-ordering for Impala: https://en.wikipedia.org/wiki/Z-order_curve
A Z-order curve defines an ordering on multi-dimensional data. Data sorted that way can be efficiently filtered by min/max statistics regarding to the columns participating in the ordering.
Impala currently only supports lexicographic ordering via the SORT BY clause. This strongly prefers the first column, i.e. given the "SORT BY A, B, C" clause => A will be totally ordered (hence filtering on A will be very efficient), but values belonging to B and C will be scattered throughout the data set (hence filtering on B or C will barely do any good).
We could add a new clause, e.g. a "ZSORT BY" clause to Impala that writes the data in Z-order.
"ZSORT BY A, B C" would cluster the rows in a way that filtering on A, B, or C would be equally efficient.
Attachments
Issue Links
- is related to
-
IMPALA-10233 Hit DCHECK in DmlExecState::AddPartition when inserting to a partitioned table with zorder
- Resolved
1.
|
Impala Doc: Document Z-Ordering | Open | Unassigned |