Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-11602

Support Struct with different field types in query

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.0
    • 2.0.0
    • None
    • None

    Description

      Table:

      create table journal(`journal id1` string) partitioned by (`journal id2` string);
      

      Query:

      explain select * from journal where struct(`journal id1`, `journal id2`) IN (struct('2013-1000-0133878664', '3'), struct('2013-1000-0133878695', 1));
      

      Exception:

      15/08/18 14:52:55 [main]: ERROR ql.Driver: FAILED: SemanticException [Error 10014]: Line 1:108 Wrong arguments '1': The arguments for IN should be the same type! Types are: {struct<col1:string,col2:string> IN (struct<col1:string,col2:string>, struct<col1:string,col2:int>)}
      org.apache.hadoop.hive.ql.parse.SemanticException: Line 1:108 Wrong arguments '1': The arguments for IN should be the same type! Types are: {struct<col1:string,col2:string> IN (struct<col1:string,col2:string>, struct<col1:string,col2:int>)}
      at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory$DefaultExprProcessor.process(TypeCheckProcFactory.java:1196)
      at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:94)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:78)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:132)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:109)
      at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory.genExprNode(TypeCheckProcFactory.java:195)
      at org.apache.hadoop.hive.ql.parse.TypeCheckProcFactory.genExprNode(TypeCheckProcFactory.java:148)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genAllExprNodeDesc(SemanticAnalyzer.java:10595)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genExprNodeDesc(SemanticAnalyzer.java:10551)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genExprNodeDesc(SemanticAnalyzer.java:10519)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genFilterPlan(SemanticAnalyzer.java:2681)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genFilterPlan(SemanticAnalyzer.java:2662)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genBodyPlan(SemanticAnalyzer.java:8841)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:9713)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genPlan(SemanticAnalyzer.java:9607)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10093)
      at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:221)
      at org.apache.hadoop.hive.ql.parse.ExplainSemanticAnalyzer.analyzeInternal(ExplainSemanticAnalyzer.java:74)
      at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:221)
      at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:417)
      at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:305)
      at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1069)
      at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1131)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1006)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:996)
      at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:247)
      at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:199)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:410)
      at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:783)
      at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
      at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
      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)
      

      Attachments

        1. HIVE-11602.01.patch
          8 kB
          jcamachorodriguez
        2. HIVE-11602.01.patch
          8 kB
          jcamachorodriguez
        3. HIVE-11602.patch
          8 kB
          jcamachorodriguez

        Issue Links

          Activity

            People

              jcamacho Jesús Camacho Rodríguez
              jcamacho Jesús Camacho Rodríguez
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: