The stack below looks like a bug; Hive should support joins like these, or
it should fail with a parse error, not an NPE. Can you open a JIRA?

On 16/2/4, 15:15, "Nicholas Hakobian" <nicholas.hakob...@rallyhealth.com>
wrote:

>I'm only aware of this:
>https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Joins
>but its unclear if it supports your syntax or not.
>
>Nicholas Szandor Hakobian
>Data Scientist
>Rally Health
>nicholas.hakob...@rallyhealth.com
>
>On Thu, Feb 4, 2016 at 12:57 PM, Dave Nicodemus
><dave.nicode...@gmail.com> wrote:
>> 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.hakob...@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.hakob...@rallyhealth.com
>>>
>>> On Thu, Feb 4, 2016 at 11:28 AM, Dave Nicodemus
>>> <dave.nicode...@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(SemanticAnaly
>>>zer.java:2046)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondPopulateAl
>>>ias(SemanticAnalyzer.java:2109)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondPopulateAl
>>>ias(SemanticAnalyzer.java:2185)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondition(Sema
>>>nticAnalyzer.java:2445)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.parseJoinCondition(Sema
>>>nticAnalyzer.java:2386)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genJoinTree(SemanticAna
>>>lyzer.java:8192)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genJoinTree(SemanticAna
>>>lyzer.java:8131)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyze
>>>r.java:9709)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyze
>>>r.java:9636)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genOPTree(SemanticAnaly
>>>zer.java:10109)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.
>>>java:329)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(Semanti
>>>cAnalyzer.java:10120)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePl
>>>anner.java:211)
>>> >         at
>>> >
>>> > 
>>>org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanti
>>>cAnalyzer.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)
>>> >
>>> >
>>> >
>>> >
>>
>>
>

Reply via email to