Hello Tidy Bot, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/16674
to look at the new patch set (#3).
Change subject: KUDU-1644 hash-partition based partition optimization
......................................................................
KUDU-1644 hash-partition based partition optimization
Hash prune for single hash-key based inList query. Reduce the prediated
values by hash-partition calculation.
Table has P partitions, N records, R rowsets. Inlist predicate has V
values.
Before:
Complexity to complete hash-key based in-list query is:
V * LOG(N/R) * N
After:
Complexity becomes:
V/P * LOG(N/R) * N
E.g.
Hash partition of table profile:
hash(id) profile by id partitions 3, simply use mod as hash function.
select * from list where id in (1,2,3,4,5,6,7,8,9,10)
Before:
Tablet 1: id in (1,2,3,4,5,6,7,8,9,10)
Tablet 2: id in (1,2,3,4,5,6,7,8,9,10)
Tablet 3: id in (1,2,3,4,5,6,7,8,9,10)
After:
Tablet 1: id in (0, 3, 6, 9)
Tablet 2: id in (1, 4, 7, 10)
Tablet 3: id in (2, 5, 8)
Change-Id: I202001535669a72de7fbb9e766dbc27db48e0aa2
---
M src/kudu/common/column_predicate.h
M src/kudu/common/partial_row.h
M src/kudu/common/partition.h
M src/kudu/common/scan_spec-test.cc
M src/kudu/common/scan_spec.cc
M src/kudu/common/scan_spec.h
M src/kudu/tserver/tablet_service.cc
7 files changed, 76 insertions(+), 3 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/74/16674/3
--
To view, visit http://gerrit.cloudera.org:8080/16674
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I202001535669a72de7fbb9e766dbc27db48e0aa2
Gerrit-Change-Number: 16674
Gerrit-PatchSet: 3
Gerrit-Owner: wangning <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)