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

Hive 1.2.1/Hitting "ql.Driver: FAILED: IllegalArgumentException Error: , expected at the end of 'decimal(9'" after enabling hive.optimize.skewjoin and with MR engine

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.2.1
    • 1.3.0, 2.2.0
    • Hive
    • HDP 2.4.2/ Hive 1.2.1

    • Reviewed
    • Important

    Description

      PROBLEM:
      The following Query run with MapReduce engine with "hive.optimize.skewjoin = true" fails with error:
      "FAILED: IllegalArgumentException Error: , expected at the end of 'decimal(9'"

      > SELECT a.col1 FROM db.tableA a INNER JOIN db.tableB b ON b.key=a.key limit 5;

      FAILED: IllegalArgumentException Error: , expected at the end of 'decimal(9'
      16/08/04 12:47:50 [main]: ERROR ql.Driver: FAILED: IllegalArgumentException Error: , expected at the end of 'decimal(9'
      java.lang.IllegalArgumentException: Error: , expected at the end of 'decimal(9'
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils$TypeInfoParser.expect(TypeInfoUtils.java:336)
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils$TypeInfoParser.parseParams(TypeInfoUtils.java:378)
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils$TypeInfoParser.parsePrimitiveParts(TypeInfoUtils.java:518)
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils.parsePrimitiveParts(TypeInfoUtils.java:533)
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory.createPrimitiveTypeInfo(TypeInfoFactory.java:136)
      at org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory.getPrimitiveTypeInfo(TypeInfoFactory.java:109)
      at org.apache.hadoop.hive.ql.optimizer.physical.GenMRSkewJoinProcessor.processSkewJoin(GenMRSkewJoinProcessor.java:214)
      at org.apache.hadoop.hive.ql.optimizer.physical.SkewJoinProcFactory$SkewJoinJoinProcessor.process(SkewJoinProcFactory.java:60)
      at org.apache.hadoop.hive.ql.lib.DefaultRuleDispatcher.dispatch(DefaultRuleDispatcher.java:90)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:95)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:79)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:133)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:110)
      at org.apache.hadoop.hive.ql.optimizer.physical.SkewJoinResolver$SkewJoinTaskDispatcher.dispatch(SkewJoinResolver.java:100)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatchAndReturn(DefaultGraphWalker.java:95)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.dispatch(DefaultGraphWalker.java:79)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.walk(DefaultGraphWalker.java:133)
      at org.apache.hadoop.hive.ql.lib.DefaultGraphWalker.startWalking(DefaultGraphWalker.java:110)
      at org.apache.hadoop.hive.ql.optimizer.physical.SkewJoinResolver.resolve(SkewJoinResolver.java:55)
      at org.apache.hadoop.hive.ql.optimizer.physical.PhysicalOptimizer.optimize(PhysicalOptimizer.java:107)
      at org.apache.hadoop.hive.ql.parse.MapReduceCompiler.optimizeTaskPlan(MapReduceCompiler.java:270)
      at org.apache.hadoop.hive.ql.parse.TaskCompiler.compile(TaskCompiler.java:227)
      at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:10219)
      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:459)
      at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:316)
      at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1189)
      at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1237)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1126)
      at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1116)
      at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:216)
      at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:168)
      at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:379)
      at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:739)
      at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:684)
      at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:624)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
      at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

      --------------
      2) However same query works fine when we set "hive.optimize.skewjoin = false" . And we dont find this issue using Tez execution engine.

      Attachments

        1. HIVE-14436.2.patch
          6 kB
          Daniel Dai
        2. HIVE-14436.1.patch
          6 kB
          Daniel Dai

        Issue Links

          Activity

            People

              daijy Daniel Dai
              rmaruthiyodan Ratish Maruthiyodan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: