hive-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Nicodemus <dave.nicode...@gmail.com>
Subject Re: NPE from simple nested ANSI Join
Date Thu, 04 Feb 2016 20:57:48 GMT
Thanks Nick,

I did a few experiments and found that the version of the query below does
work. So I'm not sure about your theory. Do you know if there is a document
that spells out the exact accepted syntax ?

SELECT COUNT(*)
FROM (nation n INNER JOIN customer c ON n.n_nationkey = c.c_nationkey)
INNER JOIN orders o ON c.c_custkey = o.o_custkey;




On Thu, Feb 4, 2016 at 3:45 PM, Nicholas Hakobian <
nicholas.hakobian@rallyhealth.com> wrote:

> I don't believe Hive supports that join format. Its expecting either a
> table name or a subquery. If its a subquery, it usually requires it to
> have a table name alias so it can be referenced in an outer statement.
>
> -Nick
>
> Nicholas Szandor Hakobian
> Data Scientist
> Rally Health
> nicholas.hakobian@rallyhealth.com
>
> On Thu, Feb 4, 2016 at 11:28 AM, Dave Nicodemus
> <dave.nicodemus@gmail.com> wrote:
> > Using hive 1.2.1.2.3  Connecting using JDBC, issuing the following query
> :
> >
> > SELECT COUNT(*)
> > FROM nation n
> >     INNER JOIN (customer c
> >                          INNER JOIN orders o ON c.c_custkey =
> o.o_custkey)
> >      ON n.n_nationkey = c.c_nationkey;
> >
> > Generates the NPE and stack below. Fields are integer data type
> >
> > Does anyone know if this is a known issue  and whether it's fixed
> someplace
> > ?
> >
> > Thanks,
> > Dave
> >
> > Stack
> > --------
> > Caused by: java.lang.NullPointerExcEeption: Remote
> > java.lang.NullPointerException: null
> >
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.isPresent(SemanticAnalyzer.java:2046)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondPopulateAlias(SemanticAnalyzer.java:2109)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondPopulateAlias(SemanticAnalyzer.java:2185)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondition(SemanticAnalyzer.java:2445)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondition(SemanticAnalyzer.java:2386)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genJoinTree(SemanticAnalyzer.java:8192)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genJoinTree(SemanticAnalyzer.java:8131)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:9709)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:9636)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnalyzer.java:10109)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:329)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10120)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:211)
> >         at
> >
> org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:227)
> >         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:454)
> >         at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:314)
> >         at
> > org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1164)
> >         at
> > org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1158)
> >         at
> >
> org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:110)
> >
> >
> >
> >
>

Mime
View raw message