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(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)
>> >
>> >
>> >
>> >
>
>

Reply via email to