Peter Vary created HIVE-22805:
---------------------------------
Summary: Vectorization with conditional array or map is not
implemented and throws an error
Key: HIVE-22805
URL: https://issues.apache.org/jira/browse/HIVE-22805
Project: Hive
Issue Type: Bug
Components: Vectorization
Reporter: Peter Vary
Assignee: Peter Vary
The following queries throw an "Not supported" Exception:
{code}
DROP TABLE IF EXISTS cond_vector;
CREATE TABLE cond_vector(a STRING) STORED AS ORC;
INSERT OVERWRITE TABLE cond_vector VALUES("a/b");
set hive.fetch.task.conversion=minimal;
set hive.execution.mode=container;
SELECT IF(1=1, MAP("a","b"), NULL) FROM cond_vector;
EXPLAIN VECTORIZATION DETAIL SELECT IF(1=1, MAP("Mathematics","78"), NULL) FROM
cond_vector;
SELECT IF(1=1, ARRAY("c", "d"), NULL) FROM cond_vector;
EXPLAIN VECTORIZATION DETAIL SELECT IF(1=1, ARRAY("a", "b"), NULL) FROM
cond_vector;
{code}
One example of the Exception (maybe not exactly this on 4.0.0 branch, but close
enough to check):
{code}
Caused by: java.lang.RuntimeException: Not supported
at
org.apache.hadoop.hive.ql.exec.vector.ListColumnVector.copySelected(ListColumnVector.java:161)
at
org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprCondExprNull.evaluate(IfExprCondExprNull.java:87)
at
org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprCondExprCondExpr.evaluate(IfExprCondExprCondExpr.java:95)
at
org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprCondExprBase.conditionalEvaluate(IfExprCondExprBase.java:68)
at
org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprCondExprCondExpr.evaluate(IfExprCondExprCondExpr.java:110)
at
org.apache.hadoop.hive.ql.exec.vector.expressions.IfExprCondExprCondExpr.evaluate(IfExprCondExprCondExpr.java:95)
at
org.apache.hadoop.hive.ql.exec.vector.VectorSelectOperator.process(VectorSelectOperator.java:146)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)