You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "Michael Ho (Code Review)" <ge...@cloudera.org> on 2016/06/24 21:39:06 UTC

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Michael Ho has uploaded a new change for review.

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

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................

IMPALA-3206: Enable codegen for AVRO_DECIMAL

This change adds the missing switch statement in
CodegenReadScalar() for AVRO_DECIMAL so that we will
also codegen if an avro table contains AVRO_DECIMAL.
With this change, the following query improves by 37.5%,
going from 8s to 5s:

select count(distinct l_linenumber), avg(l_extendedprice), max(l_discount), min(l_tax) from tpch15_avro.lineitem;

This change also un-inlines BitUtil::ByteSwap() as the
third argument 'len' is not compilation constant for
all call sites.

Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/exec/hdfs-avro-scanner.cc
M be/src/util/CMakeLists.txt
R be/src/util/bit-util.cc
M be/src/util/bit-util.h
M be/src/util/decimal-util.h
6 files changed, 8 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/89/3489/1
-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Internal Jenkins (Code Review)" <ge...@cloudera.org>.
Internal Jenkins has submitted this change and it was merged.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


IMPALA-3206: Enable codegen for AVRO_DECIMAL

This change adds the missing switch statement in
CodegenReadScalar() for AVRO_DECIMAL so that we will
also codegen if an avro table contains AVRO_DECIMAL.
With this change, the following query improves by 37.5%,
going from 8s to 5s:

select count(distinct l_linenumber), avg(l_extendedprice), max(l_discount), min(l_tax) from tpch15_avro.lineitem;

This change also un-inlines BitUtil::ByteSwap() as the
third argument 'len' is not compilation constant for
all call sites.

Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Reviewed-on: http://gerrit.cloudera.org:8080/3489
Reviewed-by: Michael Ho <kw...@cloudera.com>
Tested-by: Internal Jenkins
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/exec/hdfs-avro-scanner.cc
M be/src/util/CMakeLists.txt
M be/src/util/bit-util-test.cc
R be/src/util/bit-util.cc
M be/src/util/bit-util.h
M be/src/util/decimal-util.h
M testdata/workloads/functional-query/queries/QueryTest/decimal_avro.test
8 files changed, 24 insertions(+), 11 deletions(-)

Approvals:
  Michael Ho: Looks good to me, approved
  Internal Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 6
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dh...@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Dan Hecht (Code Review)" <ge...@cloudera.org>.
Dan Hecht has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 4: Code-Review+2

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 4
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dh...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Tim Armstrong (Code Review)" <ge...@cloudera.org>.
Tim Armstrong has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 2:

Changes looks good.

Do we have end-to-end test coverage for this? It would be good to confirm that a) we have tests that scan avro decimal tables and b) those tests actually use codegen (sometimes it gets disabled if the 
schema doesn't match).

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 2
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has uploaded a new patch set (#2).

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................

IMPALA-3206: Enable codegen for AVRO_DECIMAL

This change adds the missing switch statement in
CodegenReadScalar() for AVRO_DECIMAL so that we will
also codegen if an avro table contains AVRO_DECIMAL.
With this change, the following query improves by 37.5%,
going from 8s to 5s:

select count(distinct l_linenumber), avg(l_extendedprice), max(l_discount), min(l_tax) from tpch15_avro.lineitem;

This change also un-inlines BitUtil::ByteSwap() as the
third argument 'len' is not compilation constant for
all call sites.

Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/exec/hdfs-avro-scanner.cc
M be/src/util/CMakeLists.txt
M be/src/util/bit-util-test.cc
R be/src/util/bit-util.cc
M be/src/util/bit-util.h
M be/src/util/decimal-util.h
7 files changed, 9 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/89/3489/2
-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 2
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Internal Jenkins (Code Review)" <ge...@cloudera.org>.
Internal Jenkins has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 5: Verified+1

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 5
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dh...@cloudera.com>
Gerrit-Reviewer: Internal Jenkins
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 3:

Just added a new test which will exercise the codegen path.

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 3
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 3:

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3489/3/be/src/util/bit-util.h
File be/src/util/bit-util.h:

PS3, Line 209: uint64_t
> static_cast<uint64_t>(value)
Not relevant for this change anymore as this function has been backed out in another change. Will correct it in the patch which backouts the backout.


-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 3
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: Yes

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 5: Code-Review+2

Carry +2.

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 5
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Dan Hecht <dh...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has uploaded a new patch set (#3).

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................

IMPALA-3206: Enable codegen for AVRO_DECIMAL

This change adds the missing switch statement in
CodegenReadScalar() for AVRO_DECIMAL so that we will
also codegen if an avro table contains AVRO_DECIMAL.
With this change, the following query improves by 37.5%,
going from 8s to 5s:

select count(distinct l_linenumber), avg(l_extendedprice), max(l_discount), min(l_tax) from tpch15_avro.lineitem;

This change also un-inlines BitUtil::ByteSwap() as the
third argument 'len' is not compilation constant for
all call sites.

Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
---
M be/src/codegen/gen_ir_descriptions.py
M be/src/exec/hdfs-avro-scanner.cc
M be/src/util/CMakeLists.txt
M be/src/util/bit-util-test.cc
R be/src/util/bit-util.cc
M be/src/util/bit-util.h
M be/src/util/decimal-util.h
M testdata/workloads/functional-query/queries/QueryTest/decimal_avro.test
8 files changed, 24 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/89/3489/3
-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 3
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Michael Ho (Code Review)" <ge...@cloudera.org>.
Michael Ho has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 4: Code-Review+1

Carry Tim's +1.

-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 4
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: No

[Impala-CR](cdh5-trunk) IMPALA-3206: Enable codegen for AVRO DECIMAL

Posted by "Tim Armstrong (Code Review)" <ge...@cloudera.org>.
Tim Armstrong has posted comments on this change.

Change subject: IMPALA-3206: Enable codegen for AVRO_DECIMAL
......................................................................


Patch Set 3: Code-Review+1

(1 comment)

http://gerrit.cloudera.org:8080/#/c/3489/3/be/src/util/bit-util.h
File be/src/util/bit-util.h:

PS3, Line 209: uint64_t
static_cast<uint64_t>(value)


-- 
To view, visit http://gerrit.cloudera.org:8080/3489
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51adf0c1ba76e055f31ccb0034a0d23ea2afb30e
Gerrit-PatchSet: 3
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Michael Ho <kw...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <ta...@cloudera.com>
Gerrit-HasComments: Yes