You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Phabricator (JIRA)" <ji...@apache.org> on 2013/01/16 11:06:13 UTC

[jira] [Updated] (HIVE-3872) MAP JOIN for VIEW thorws NULL pointer exception error

     [ https://issues.apache.org/jira/browse/HIVE-3872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Phabricator updated HIVE-3872:
------------------------------

    Attachment: HIVE-3872.D7965.1.patch

navis requested code review of "HIVE-3872 [jira] MAP JOIN  for VIEW thorws NULL pointer exception error".
Reviewers: JIRA

  DPAL-1961 Invalid mapjoin hint throws NPE

  I have created a view  as shown below.

  CREATE VIEW V1 AS
  select /*+ MAPJOIN(t1) ,MAPJOIN(t2)  */ t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3 from TABLE1 t1 join TABLE t2 on ( t1.f2= t2.f2 and t1.f3 = t2.f3 and t1.f4 = t2.f4 ) group by t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3

  View get created successfully however when I execute below mentioned SQL or any SQL on the view  get NULLPOINTER exception error

  hive> select count  from V1;
  FAILED: NullPointerException null
  hive>

  Is there anything wrong with the view creation ?

  Next I created view without MAPJOIN hints

  CREATE VIEW V1 AS
  select  t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3 from TABLE1 t1 join TABLE t2 on ( t1.f2= t2.f2 and t1.f3 = t2.f3 and t1.f4 = t2.f4 ) group by t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3

  Before executing select SQL I excute set  hive.auto.convert.join=true;

  I am getting beloow mentioned warnings
  java.lang.InstantiationException: org.apache.hadoop.hive.ql.parse.ASTNodeOrigin
  Continuing ...
  java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new();
  Continuing ...

  And I see from log that total 5 mapreduce jobs are started however when don't set auto.convert.join to true, I see only 3 mapreduce jobs getting invoked.
  Total MapReduce jobs = 5
  Ended Job = 1116112419, job is filtered out (removed at runtime).
  Ended Job = -33256989, job is filtered out (removed at runtime).
  WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

TEST PLAN
  EMPTY

REVISION DETAIL
  https://reviews.facebook.net/D7965

AFFECTED FILES
  ql/src/java/org/apache/hadoop/hive/ql/ErrorMsg.java
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/MapJoinProcessor.java
  ql/src/test/queries/clientnegative/invalid_mapjoin1.q
  ql/src/test/results/clientnegative/invalid_mapjoin1.q.out

MANAGE HERALD DIFFERENTIAL RULES
  https://reviews.facebook.net/herald/view/differential/

WHY DID I GET THIS EMAIL?
  https://reviews.facebook.net/herald/transcript/19185/

To: JIRA, navis

                
> MAP JOIN  for VIEW thorws NULL pointer exception error
> ------------------------------------------------------
>
>                 Key: HIVE-3872
>                 URL: https://issues.apache.org/jira/browse/HIVE-3872
>             Project: Hive
>          Issue Type: Bug
>          Components: Views
>    Affects Versions: 0.9.0
>            Reporter: Santosh Achhra
>            Priority: Critical
>              Labels: HINTS, HIVE, MAPJOIN, VIEW
>         Attachments: HIVE-3872.D7965.1.patch
>
>
> I have created a view  as shown below. 
> CREATE VIEW V1 AS
> select /*+ MAPJOIN(t1) ,MAPJOIN(t2)  */ t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3 from TABLE1 t1 join TABLE t2 on ( t1.f2= t2.f2 and t1.f3 = t2.f3 and t1.f4 = t2.f4 ) group by t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3
> View get created successfully however when I execute below mentioned SQL or any SQL on the view  get NULLPOINTER exception error
> hive> select count (*) from V1;
> FAILED: NullPointerException null
> hive>
> Is there anything wrong with the view creation ?
> Next I created view without MAPJOIN hints 
> CREATE VIEW V1 AS
> select  t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3 from TABLE1 t1 join TABLE t2 on ( t1.f2= t2.f2 and t1.f3 = t2.f3 and t1.f4 = t2.f4 ) group by t1.f1, t1.f2, t1.f3, t1.f4, t2.f1, t2.f2, t2.f3
> Before executing select SQL I excute set  hive.auto.convert.join=true; 
> I am getting beloow mentioned warnings
> java.lang.InstantiationException: org.apache.hadoop.hive.ql.parse.ASTNodeOrigin
> Continuing ...
> java.lang.RuntimeException: failed to evaluate: <unbound>=Class.new();
> Continuing ...
> And I see from log that total 5 mapreduce jobs are started however when don't set auto.convert.join to true, I see only 3 mapreduce jobs getting invoked.
> Total MapReduce jobs = 5
> Ended Job = 1116112419, job is filtered out (removed at runtime).
> Ended Job = -33256989, job is filtered out (removed at runtime).
> WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira