[
https://issues.apache.org/jira/browse/HIVE-13084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15154192#comment-15154192
]
Matt McCline commented on HIVE-13084:
-------------------------------------
{noformat}
In VectorizationContext.getVectorExpression:
exprDesc is GenericUDFWhen
Detail: GenericUDFWhen(GenericUDFBetween(Const boolean false,
Column[date1_string], Const string 2040-06-30, Const string 2050-07-06), Const
string 2040-06-30, Const void null)
Comes out of isNonVectorizedPathUDF as true.
Calls getCustomUDFExpression
One of the children is GenericUDFBetween(Const boolean false,
Column[date1_string], Const string 2040-06-30, Const string 2050-07-06)
Call (recursive) getVectorExpression:
Get ready to call getGenericUdfVectorExpression
Child expressions: [Const boolean false, Column[date1_string], Const
string 2040-06-30, Const string 2050-07-06]
Call getGenericUdfVectorExpression
Call getBetweenFilterExpression
if (mode == Mode.PROJECTION) {
// Projection mode is not yet supported for [NOT] BETWEEN.
Return null so Vectorizer
// knows to revert to row-at-a-time execution.
return null;
}
{noformat}
Well, day 1 area not covered...
> Vectorization throws exception where there is case statement in group by
> ------------------------------------------------------------------------
>
> Key: HIVE-13084
> URL: https://issues.apache.org/jira/browse/HIVE-13084
> Project: Hive
> Issue Type: Bug
> Components: Vectorization
> Reporter: Rajesh Balamohan
> Assignee: Matt McCline
> Attachments: vector_between_date.q
>
>
> When there is case statement in group by, hive throws unable to vectorize
> exception.
> e.g query just to demonstrate the problem
> {noformat}
> explain select l_partkey, case when l_commitdate between '2015-06-30' AND
> '2015-07-06' THEN '2015-06-30' END as wk from lineitem_test_l_shipdate_ts
> group by l_partkey, case when l_commitdate between '2015-06-30' AND
> '2015-07-06' THEN '2015-06-30' END;
> org.apache.hadoop.hive.ql.metadata.HiveException: Could not vectorize
> expression: org.apache.hadoop.hive.ql.plan.ExprNodeGenericFuncDesc
> Vertex dependency in root stage
> Reducer 2 <- Map 1 (SIMPLE_EDGE)
> Stage-0
> Fetch Operator
> limit:-1
> Stage-1
> Reducer 2
> File Output Operator [FS_7]
> Group By Operator [GBY_5] (rows=888777234 width=108)
> Output:["_col0","_col1"],keys:KEY._col0, KEY._col1
> <-Map 1 [SIMPLE_EDGE]
> SHUFFLE [RS_4]
> PartitionCols:_col0, _col1
> Group By Operator [GBY_3] (rows=1777554469 width=108)
> Output:["_col0","_col1"],keys:_col0, _col1
> Select Operator [SEL_1] (rows=1777554469 width=108)
> Output:["_col0","_col1"]
> TableScan [TS_0] (rows=1777554469 width=108)
>
> rajesh@lineitem_test_l_shipdate_ts,lineitem_test_l_shipdate_ts,Tbl:COMPLETE,Col:NONE,Output:["l_partkey","l_commitdate"]
> {noformat}
> \cc [~mmccline], [~gopalv]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)