Hello Tidy Bot, Kudu Jenkins, Andrew Wong,

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/16674

to look at the new patch set (#6).

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 values to 
predicate
by hash-partition match.

Table has P partitions, N records, R rowsets. Inlist predicate has V
values.

Before:
To each tablet, time 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.cc
M src/kudu/common/partial_row.h
M src/kudu/common/partition.h
M src/kudu/common/partition_pruner-test.cc
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
9 files changed, 339 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/74/16674/6
--
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: 6
Gerrit-Owner: wangning <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)

Reply via email to