You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Hive QA (JIRA)" <ji...@apache.org> on 2018/12/16 00:45:00 UTC

[jira] [Commented] (HIVE-16255) Support percentile_cont / percentile_disc

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

Hive QA commented on HIVE-16255:
--------------------------------

| (x) *{color:red}-1 overall{color}* |
\\
\\
|| Vote || Subsystem || Runtime || Comment ||
|| || || || {color:brown} Prechecks {color} ||
| {color:green}+1{color} | {color:green} @author {color} | {color:green}  0m  0s{color} | {color:green} The patch does not contain any @author tags. {color} |
|| || || || {color:brown} master Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  8m 38s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  6s{color} | {color:green} master passed {color} |
| {color:green}+1{color} | {color:green} checkstyle {color} | {color:green}  0m 38s{color} | {color:green} master passed {color} |
| {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue}  3m 51s{color} | {color:blue} ql in master has 2310 extant Findbugs warnings. {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 56s{color} | {color:green} master passed {color} |
|| || || || {color:brown} Patch Compile Tests {color} ||
| {color:green}+1{color} | {color:green} mvninstall {color} | {color:green}  1m 23s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} compile {color} | {color:green}  1m  0s{color} | {color:green} the patch passed {color} |
| {color:green}+1{color} | {color:green} javac {color} | {color:green}  1m  0s{color} | {color:green} the patch passed {color} |
| {color:red}-1{color} | {color:red} checkstyle {color} | {color:red}  0m 38s{color} | {color:red} ql: The patch generated 48 new + 72 unchanged - 0 fixed = 120 total (was 72) {color} |
| {color:green}+1{color} | {color:green} whitespace {color} | {color:green}  0m  0s{color} | {color:green} The patch has no whitespace issues. {color} |
| {color:red}-1{color} | {color:red} findbugs {color} | {color:red}  4m  1s{color} | {color:red} ql generated 3 new + 2310 unchanged - 0 fixed = 2313 total (was 2310) {color} |
| {color:green}+1{color} | {color:green} javadoc {color} | {color:green}  0m 54s{color} | {color:green} the patch passed {color} |
|| || || || {color:brown} Other Tests {color} ||
| {color:red}-1{color} | {color:red} asflicense {color} | {color:red}  0m 13s{color} | {color:red} The patch generated 1 ASF License warnings. {color} |
| {color:black}{color} | {color:black} {color} | {color:black} 23m 40s{color} | {color:black} {color} |
\\
\\
|| Reason || Tests ||
| FindBugs | module:ql |
|  |  org.apache.hadoop.hive.ql.udf.generic.GenericUDAFPercentileCont$DoubleComparator implements Comparator but not Serializable  At GenericUDAFPercentileCont.java:Serializable  At GenericUDAFPercentileCont.java:[lines 109-114] |
|  |  org.apache.hadoop.hive.ql.udf.generic.GenericUDAFPercentileCont$LongComparator implements Comparator but not Serializable  At GenericUDAFPercentileCont.java:Serializable  At GenericUDAFPercentileCont.java:[lines 101-105] |
|  |  org.apache.hadoop.hive.ql.udf.generic.GenericUDAFPercentileCont$PercentileContEvaluator.terminatePartial(GenericUDAFEvaluator$AggregationBuffer) may expose internal representation by returning GenericUDAFPercentileCont$PercentileContEvaluator.partialResult  At GenericUDAFPercentileCont.java:by returning GenericUDAFPercentileCont$PercentileContEvaluator.partialResult  At GenericUDAFPercentileCont.java:[line 186] |
\\
\\
|| Subsystem || Report/Notes ||
| Optional Tests |  asflicense  javac  javadoc  findbugs  checkstyle  compile  |
| uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux |
| Build tool | maven |
| Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-15338/dev-support/hive-personality.sh |
| git revision | master / 4e41560 |
| Default Java | 1.8.0_111 |
| findbugs | v3.0.0 |
| checkstyle | http://104.198.109.242/logs//PreCommit-HIVE-Build-15338/yetus/diff-checkstyle-ql.txt |
| findbugs | http://104.198.109.242/logs//PreCommit-HIVE-Build-15338/yetus/new-findbugs-ql.html |
| asflicense | http://104.198.109.242/logs//PreCommit-HIVE-Build-15338/yetus/patch-asflicense-problems.txt |
| modules | C: ql U: ql |
| Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-15338/yetus.txt |
| Powered by | Apache Yetus    http://yetus.apache.org |


This message was automatically generated.



> Support percentile_cont / percentile_disc
> -----------------------------------------
>
>                 Key: HIVE-16255
>                 URL: https://issues.apache.org/jira/browse/HIVE-16255
>             Project: Hive
>          Issue Type: Sub-task
>          Components: SQL
>            Reporter: Carter Shanklin
>            Assignee: Laszlo Bodor
>            Priority: Major
>         Attachments: HIVE-16255.01.patch, HIVE-16255.02.patch
>
>
> Way back in HIVE-259, a percentile function was added that provides a subset of the standard percentile_cont aggregate function.
> The SQL standard provides some additional options and also a percentile_disc aggregate function with different rules. In the standard you specify an ordering with arbitrary value expression and the results are drawn from this value expression. This aggregate functions should be usable as analytic functions as well (i.e. support the over clause). The current percentile function is able to be used with an over clause.
> The rough outline of how this works is:
> percentile_cont(number) within group (order by expression) [ over(window spec) ]
> percentile_disc(number) within group (order by expression) [ over(window spec) ]
> The value of number should be between 0 and 1. The value expression is evaluated for each row of the group, nulls are discarded, and the remaining rows are ordered.
> — If PERCENTILE_CONT is specified, by considering the pair of consecutive rows that are indicated by the argument, treated as a fraction of the total number of rows in the group, and interpolating the value of the value expression evaluated for these rows.
> — If PERCENTILE_DISC is specified, by treating the group as a window partition of the CUME_DIST window function, using the specified ordering of the value expression as the window ordering, and returning the  first value expression whose cumulative distribution value is greater than or equal to the argument.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)