hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hive QA (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-17433) Vectorization: Support Decimal64 in Hive Query Engine
Date Wed, 25 Oct 2017 02:49:00 GMT

    [ https://issues.apache.org/jira/browse/HIVE-17433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16218011#comment-16218011
] 

Hive QA commented on HIVE-17433:
--------------------------------



Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12893727/HIVE-17433.05.patch

{color:red}ERROR:{color} -1 due to build exiting with an error

Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/7459/testReport
Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/7459/console
Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-7459/

Messages:
{noformat}
Executing org.apache.hive.ptest.execution.TestCheckPhase
Executing org.apache.hive.ptest.execution.PrepPhase
Tests exited with: NonZeroExitCodeException
Command 'bash /data/hiveptest/working/scratch/source-prep.sh' failed with exit status 1 and
output '+ date '+%Y-%m-%d %T.%3N'
2017-10-25 02:48:56.379
+ [[ -n /usr/lib/jvm/java-8-openjdk-amd64 ]]
+ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+ JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
+ export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+ PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
+ export 'ANT_OPTS=-Xmx1g -XX:MaxPermSize=256m '
+ ANT_OPTS='-Xmx1g -XX:MaxPermSize=256m '
+ export 'MAVEN_OPTS=-Xmx1g '
+ MAVEN_OPTS='-Xmx1g '
+ cd /data/hiveptest/working/
+ tee /data/hiveptest/logs/PreCommit-HIVE-Build-7459/source-prep.txt
+ [[ false == \t\r\u\e ]]
+ mkdir -p maven ivy
+ [[ git = \s\v\n ]]
+ [[ git = \g\i\t ]]
+ [[ -z master ]]
+ [[ -d apache-github-source-source ]]
+ [[ ! -d apache-github-source-source/.git ]]
+ [[ ! -d apache-github-source-source ]]
+ date '+%Y-%m-%d %T.%3N'
2017-10-25 02:48:56.382
+ cd apache-github-source-source
+ git fetch origin
+ git reset --hard HEAD
HEAD is now at 84950cf HIVE-17764 : alter view fails when hive.metastore.disallow.incompatible.col.type.changes
set to true (Janaki Lahorani, reviewed by Andrew Sherman and Vihang Karajgaonkar)
+ git clean -f -d
+ git checkout master
Already on 'master'
Your branch is up-to-date with 'origin/master'.
+ git reset --hard origin/master
HEAD is now at 84950cf HIVE-17764 : alter view fails when hive.metastore.disallow.incompatible.col.type.changes
set to true (Janaki Lahorani, reviewed by Andrew Sherman and Vihang Karajgaonkar)
+ git merge --ff-only origin/master
Already up-to-date.
+ date '+%Y-%m-%d %T.%3N'
2017-10-25 02:48:56.906
+ patchCommandPath=/data/hiveptest/working/scratch/smart-apply-patch.sh
+ patchFilePath=/data/hiveptest/working/scratch/build.patch
+ [[ -f /data/hiveptest/working/scratch/build.patch ]]
+ chmod +x /data/hiveptest/working/scratch/smart-apply-patch.sh
+ /data/hiveptest/working/scratch/smart-apply-patch.sh /data/hiveptest/working/scratch/build.patch
error: patch failed: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java:2898
error: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java: patch does not apply
error: patch failed: ql/src/test/results/clientpositive/llap/vector_between_columns.q.out:91
error: ql/src/test/results/clientpositive/llap/vector_between_columns.q.out: patch does not
apply
error: patch failed: ql/src/test/results/clientpositive/llap/vector_complex_all.q.out:678
error: ql/src/test/results/clientpositive/llap/vector_complex_all.q.out: patch does not apply
error: patch failed: ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out:39
error: ql/src/test/results/clientpositive/llap/vector_groupby_mapjoin.q.out: patch does not
apply
error: patch failed: ql/src/test/results/clientpositive/llap/vector_include_no_sel.q.out:224
error: ql/src/test/results/clientpositive/llap/vector_include_no_sel.q.out: patch does not
apply
error: patch failed: ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out:5955
error: ql/src/test/results/clientpositive/llap/vectorized_dynamic_partition_pruning.q.out:
patch does not apply
The patch does not appear to apply with p0, p1, or p2
+ exit 1
'
{noformat}

This message is automatically generated.

ATTACHMENT ID: 12893727 - PreCommit-HIVE-Build

> Vectorization: Support Decimal64 in Hive Query Engine
> -----------------------------------------------------
>
>                 Key: HIVE-17433
>                 URL: https://issues.apache.org/jira/browse/HIVE-17433
>             Project: Hive
>          Issue Type: Bug
>          Components: Hive
>            Reporter: Matt McCline
>            Assignee: Matt McCline
>            Priority: Critical
>         Attachments: HIVE-17433.03.patch, HIVE-17433.04.patch, HIVE-17433.05.patch
>
>
> Provide partial support for Decimal64 within Hive.  By partial I mean that our current
decimal has a large surface area of features (rounding, multiply, divide, remainder, power,
big precision, and many more) but only a small number has been identified as being performance
hotspots.
> Those are small precision decimals with precision <= 18 that fit within a 64-bit long
we are calling Decimal64 ‚Äč.  Just as we optimize row-mode execution engine hotspots by selectively
adding new vectorization code, we can treat the current decimal as the full featured one and
add additional Decimal64 optimization where query benchmarks really show it help.
> This change creates a Decimal64ColumnVector.
> This change currently detects small decimal with Hive for Vectorized text input format
and uses some new Decimal64 vectorized classes for comparison, addition, and later perhaps
a few GroupBy aggregations like sum, avg, min, max.
> The patch also supports a new annotation that can mark a VectorizedInputFormat as supporting
Decimal64 (it is called DECIMAL_64).  So, in separate work those other formats such as ORC,
PARQUET, etc can be done in later JIRAs so they participate in the Decimal64 performance optimization.
> The idea is when you annotate your input format with:
> @VectorizedInputFormatSupports(supports = {DECIMAL_64})
> the Vectorizer in Hive will plan usage of Decimal64ColumnVector instead of DecimalColumnVector.
 Upon an input format seeing Decimal64ColumnVector being used, the input format can fill that
column vector with decimal64 longs instead of HiveDecimalWritable objects of DecimalColumnVector.
> There will be a Hive environment variable hive.vectorized.input.format.supports.enabled
that has a string list of supported features.  The default will start as "decimal_64".  It
can be turned off to allow for performance comparisons and testing.
> The query SELECT * FROM DECIMAL_6_1_txt where key - 100BD < 200BD ORDER BY key, value
> Will have a vectorized explain plan looking like:
> ...
>             Filter Operator
>               Filter Vectorization:
>                   className: VectorFilterOperator
>                   native: true
>                   predicateExpression: FilterDecimal64ColLessDecimal64Scalar(col 2, val
20000000)(children: Decimal64ColSubtractDecimal64Scalar(col 0, val 10000000, outputDecimal64AbsMax
99999999999) -> 2:decimal(11,5)/DECIMAL_64) -> boolean
>               predicate: ((key - 100) < 200) (type: boolean)
> ...



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message