하위 쿼리 내의 하위 쿼리가 하이브에서 작동하지 않습니다.

나게 스와 란

복잡한 쿼리가 있는데 여기에 단순화 된 버전을 제공합니다. 작동하지 않는 이유를 알고 싶습니다.

select * from ((select 1) t1 union (select 2) t2);

아래 오류 받기

NoViableAltException(290@[147:5: ( ( Identifier LPAREN )=> partitionedTableFunction | tableSource | subQuerySource | virtualTableSource )])
at org.antlr.runtime.DFA.noViableAlt(DFA.java:158)
at org.antlr.runtime.DFA.predict(DFA.java:144)
at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromSource(HiveParser_FromClauseParser.java:3654)
at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.joinSource(HiveParser_FromClauseParser.java:1836)
at org.apache.hadoop.hive.ql.parse.HiveParser_FromClauseParser.fromClause(HiveParser_FromClauseParser.java:1488)
at org.apache.hadoop.hive.ql.parse.HiveParser.fromClause(HiveParser.java:44869)
at org.apache.hadoop.hive.ql.parse.HiveParser.singleSelectStatement(HiveParser.java:42035)
at org.apache.hadoop.hive.ql.parse.HiveParser.selectStatement(HiveParser.java:41720)
at org.apache.hadoop.hive.ql.parse.HiveParser.regularBody(HiveParser.java:41657)
at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpressionBody(HiveParser.java:40710)
at org.apache.hadoop.hive.ql.parse.HiveParser.queryStatementExpression(HiveParser.java:40586)
at org.apache.hadoop.hive.ql.parse.HiveParser.execStatement(HiveParser.java:1529)
at org.apache.hadoop.hive.ql.parse.HiveParser.statement(HiveParser.java:1065)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:201)
at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:418)
at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:312)
at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1201)
at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1296)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1127)
at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1115)
at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:220)
at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:172)
at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:383)
at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:775)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:693)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:628)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

FAILED : ParseException 줄 1:15는 소스의 '(' '(' 'select'근처의 입력을 인식 할 수 없습니다.

데이비드 두두 마르코 비츠

1

일부 데이터베이스와 달리 Hive는 쿼리 주위에 대괄호를 허용하지 않습니다.
예를 들어 select 1하이브에서는 유효한 쿼리이지만 (select 1).

추신
쿼리 주위에 대괄호를 허용하는 데이터베이스라도 UNION으로 결합 할 때 이러한 쿼리에 대한 별칭을 허용하지 않습니다.
예를 들어 (select 1) union (select 2)일부 데이터베이스에서는 유효한 쿼리이지만(select 1) t1 union (select 2) t2

2

일부 데이터베이스와 달리 Hive에는 하위 쿼리에 대한 별칭이 필요합니다.
예를 들어 select * from (select 1) t하이브에서 유효한 쿼리이지만select * from (select 1)


OP 쿼리를 작성하는 올바른 방법은 다음과 같습니다.
select * from (select 1 union select 2) t;


+-----+
| _c0 |
+-----+
|   1 |
|   2 |
+-----+

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Meteor의 쿼리 하위 문서가 작동하지 않습니다.

분류에서Dev

Meteor의 쿼리 하위 문서가 작동하지 않습니다.

분류에서Dev

하위 쿼리로 쿼리에서 삭제가 작동하지 않습니다.

분류에서Dev

Linq 하위 쿼리가 작동하지 않습니다.

분류에서Dev

하위 쿼리가 작동하지 않습니다.

분류에서Dev

하위 쿼리가 작동하지 않는 것 같습니다.

분류에서Dev

SQL 하위 쿼리가 작동하지 않습니다.

분류에서Dev

HQL은 하위 쿼리 및 절 내에서 작동하지 않습니다.

분류에서Dev

내 iPad에서 @media 쿼리가 작동하지 않습니다.

분류에서Dev

내 업데이트 쿼리가 작동하지 않습니다.

분류에서Dev

Elasticsearch 정수 범위 쿼리가 작동하지 않습니다.

분류에서Dev

Elasticsearch-범위 쿼리가 작동하지 않습니다.

분류에서Dev

Codeigniter 내부 조인 쿼리가 작동하지 않습니다.

분류에서Dev

여러 쿼리에 UNION을 사용하려고하지만 내 하위 쿼리가 AVG를 사용하기 때문에 작동하지 않습니다.

분류에서Dev

GROUP_CONCAT가 하위 쿼리에서 작동하지 않습니다.

분류에서Dev

내 코드에서 업데이트 쿼리가 작동하지 않습니다.

분류에서Dev

FMDB sqlite의 SQL 쿼리가 작동하지 않습니다.

분류에서Dev

PDO의 LIKE 쿼리가 작동하지 않습니다.

분류에서Dev

Android의 SQLite 쿼리가 작동하지 않습니다.

분류에서Dev

CSS의 미디어 쿼리가 작동하지 않습니다.

분류에서Dev

레일 5의 LIKE 쿼리가 작동하지 않습니다.

분류에서Dev

filter () 컬렉션이 하위 쿼리에서 작동하지 않습니다.

분류에서Dev

하위 쿼리에서 MySQL 선택이 작동하지 않습니다.

분류에서Dev

Apache Lucene 6 QueryParser 범위 쿼리가 IntPoint에서 작동하지 않습니다.

분류에서Dev

하위 쿼리가 작동하지 않고 두 개의 열이 제공됨

분류에서Dev

액세스 SQL 삽입 하위 쿼리가 작동하지 않습니다.

분류에서Dev

내 선택 쿼리가 ajax에서 작동하지 않습니다.

분류에서Dev

페이지 쿼리가 Gridsome의 구성 요소 내에서 작동하지 않습니다.

분류에서Dev

범위 정의 쿼리는 작동하지 않지만 독립형 쿼리는 괜찮습니다.

Related 관련 기사

  1. 1

    Meteor의 쿼리 하위 문서가 작동하지 않습니다.

  2. 2

    Meteor의 쿼리 하위 문서가 작동하지 않습니다.

  3. 3

    하위 쿼리로 쿼리에서 삭제가 작동하지 않습니다.

  4. 4

    Linq 하위 쿼리가 작동하지 않습니다.

  5. 5

    하위 쿼리가 작동하지 않습니다.

  6. 6

    하위 쿼리가 작동하지 않는 것 같습니다.

  7. 7

    SQL 하위 쿼리가 작동하지 않습니다.

  8. 8

    HQL은 하위 쿼리 및 절 내에서 작동하지 않습니다.

  9. 9

    내 iPad에서 @media 쿼리가 작동하지 않습니다.

  10. 10

    내 업데이트 쿼리가 작동하지 않습니다.

  11. 11

    Elasticsearch 정수 범위 쿼리가 작동하지 않습니다.

  12. 12

    Elasticsearch-범위 쿼리가 작동하지 않습니다.

  13. 13

    Codeigniter 내부 조인 쿼리가 작동하지 않습니다.

  14. 14

    여러 쿼리에 UNION을 사용하려고하지만 내 하위 쿼리가 AVG를 사용하기 때문에 작동하지 않습니다.

  15. 15

    GROUP_CONCAT가 하위 쿼리에서 작동하지 않습니다.

  16. 16

    내 코드에서 업데이트 쿼리가 작동하지 않습니다.

  17. 17

    FMDB sqlite의 SQL 쿼리가 작동하지 않습니다.

  18. 18

    PDO의 LIKE 쿼리가 작동하지 않습니다.

  19. 19

    Android의 SQLite 쿼리가 작동하지 않습니다.

  20. 20

    CSS의 미디어 쿼리가 작동하지 않습니다.

  21. 21

    레일 5의 LIKE 쿼리가 작동하지 않습니다.

  22. 22

    filter () 컬렉션이 하위 쿼리에서 작동하지 않습니다.

  23. 23

    하위 쿼리에서 MySQL 선택이 작동하지 않습니다.

  24. 24

    Apache Lucene 6 QueryParser 범위 쿼리가 IntPoint에서 작동하지 않습니다.

  25. 25

    하위 쿼리가 작동하지 않고 두 개의 열이 제공됨

  26. 26

    액세스 SQL 삽입 하위 쿼리가 작동하지 않습니다.

  27. 27

    내 선택 쿼리가 ajax에서 작동하지 않습니다.

  28. 28

    페이지 쿼리가 Gridsome의 구성 요소 내에서 작동하지 않습니다.

  29. 29

    범위 정의 쿼리는 작동하지 않지만 독립형 쿼리는 괜찮습니다.

뜨겁다태그

보관