You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Ning Zhang (JIRA)" <ji...@apache.org> on 2011/01/07 22:08:45 UTC

[jira] Created: (HIVE-1901) ColumnPruner bug in case of LATERAL VIEW and UDTF

ColumnPruner bug in case of LATERAL VIEW and UDTF
-------------------------------------------------

                 Key: HIVE-1901
                 URL: https://issues.apache.org/jira/browse/HIVE-1901
             Project: Hive
          Issue Type: Bug
            Reporter: Ning Zhang


The following query 
{code}
 EXPLAIN SELECT stat FROM (
SELECT nt.value AS n, dt.value AS d_evt, nt.hr as hr
FROM srcpart nt
JOIN srcpart dt
ON (nt.ds='2008-04-08' AND dt.ds='2008-04-08' AND nt.key=dt.key)
) joined
LATERAL VIEW explode(array(n)) s AS stat;
{code}

throws an exception:


FAILED: Hive Internal Error: java.lang.ArrayIndexOutOfBoundsException(-1)
java.lang.ArrayIndexOutOfBoundsException: -1
	at java.util.ArrayList.get(ArrayList.java:324)
	at org.apache.hadoop.hive.ql.optimizer.ColumnPrunerProcFactory$ColumnPrunerSelectProc.process(ColumnPrunerProcFactory.java:398)
	at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89)
	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:88)
	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner$ColumnPrunerWalker.walk(ColumnPruner.java:143)
	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:102)
	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner.transform(ColumnPruner.java:106)
	at org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:85)
	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:6606)
	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
	at org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:48)
	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:335)
	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:686)
	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:161)
	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:235)
	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:450)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HIVE-1901) ColumnPruner bug in case of LATERAL VIEW and UDTF

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HIVE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ning Zhang reassigned HIVE-1901:
--------------------------------

    Assignee: Paul Yang

Paul, can you take a look?

> ColumnPruner bug in case of LATERAL VIEW and UDTF
> -------------------------------------------------
>
>                 Key: HIVE-1901
>                 URL: https://issues.apache.org/jira/browse/HIVE-1901
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Ning Zhang
>            Assignee: Paul Yang
>
> The following query 
> {code}
>  EXPLAIN SELECT stat FROM (
> SELECT nt.value AS n, dt.value AS d_evt, nt.hr as hr
> FROM srcpart nt
> JOIN srcpart dt
> ON (nt.ds='2008-04-08' AND dt.ds='2008-04-08' AND nt.key=dt.key)
> ) joined
> LATERAL VIEW explode(array(n)) s AS stat;
> {code}
> throws an exception:
> FAILED: Hive Internal Error: java.lang.ArrayIndexOutOfBoundsException(-1)
> java.lang.ArrayIndexOutOfBoundsException: -1
> 	at java.util.ArrayList.get(ArrayList.java:324)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPrunerProcFactory$ColumnPrunerSelectProc.process(ColumnPrunerProcFactory.java:398)
> 	at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89)
> 	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:88)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner$ColumnPrunerWalker.walk(ColumnPruner.java:143)
> 	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:102)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner.transform(ColumnPruner.java:106)
> 	at org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:85)
> 	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:6606)
> 	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
> 	at org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:48)
> 	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:335)
> 	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:686)
> 	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:161)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:235)
> 	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:450)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HIVE-1901) ColumnPruner bug in case of LATERAL VIEW and UDTF

Posted by "Ning Zhang (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HIVE-1901?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12978965#action_12978965 ] 

Ning Zhang commented on HIVE-1901:
----------------------------------

This bug is related to the unnecessary columns in the subquery (db.value and nt.hr). It works if removing these columns. 

> ColumnPruner bug in case of LATERAL VIEW and UDTF
> -------------------------------------------------
>
>                 Key: HIVE-1901
>                 URL: https://issues.apache.org/jira/browse/HIVE-1901
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Ning Zhang
>
> The following query 
> {code}
>  EXPLAIN SELECT stat FROM (
> SELECT nt.value AS n, dt.value AS d_evt, nt.hr as hr
> FROM srcpart nt
> JOIN srcpart dt
> ON (nt.ds='2008-04-08' AND dt.ds='2008-04-08' AND nt.key=dt.key)
> ) joined
> LATERAL VIEW explode(array(n)) s AS stat;
> {code}
> throws an exception:
> FAILED: Hive Internal Error: java.lang.ArrayIndexOutOfBoundsException(-1)
> java.lang.ArrayIndexOutOfBoundsException: -1
> 	at java.util.ArrayList.get(ArrayList.java:324)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPrunerProcFactory$ColumnPrunerSelectProc.process(ColumnPrunerProcFactory.java:398)
> 	at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:89)
> 	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:88)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner$ColumnPrunerWalker.walk(ColumnPruner.java:143)
> 	at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:102)
> 	at org.apache.hadoop.hive.ql.optimizer.ColumnPruner.transform(ColumnPruner.java:106)
> 	at org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize(Optimizer.java:85)
> 	at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:6606)
> 	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
> 	at org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:48)
> 	at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:238)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:335)
> 	at org.apache.hadoop.hive.ql.Driver.run(Driver.java:686)
> 	at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:161)
> 	at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:235)
> 	at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:450)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.