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

Druid-Hive: tpcds query on timestamp throws java.lang.IllegalArgumentException: Cannot create timestamp, parsing error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.0
    • 3.2.0, 4.0.0-alpha-1
    • Hive
    • None

    Description

      Druid-Hive: tpcds query on timestamp trows java.lang.IllegalArgumentException: Cannot create timestamp, parsing error.

      SELECT `__time`, max(ss_quantity), sum(ss_wholesale_cost)
      
                                FROM misc_store_sales_denormalized_subset
      
                                GROUP BY `__time`;
      
      
      
      INFO  : Compiling command(queryId=hive_20180705123007_dd94e295-9e3e-440e-9818-2e7f8458f06d): SELECT `__time`, max(ss_quantity), sum(ss_wholesale_cost)
      FROM misc_store_sales_denormalized_subset
      GROUP BY `__time`
      INFO  : Semantic Analysis Completed (retrial = false)
      INFO  : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:__time, type:timestamp, comment:null), FieldSchema(name:$f1, type:int, comment:null), FieldSchema(name:$f2, type:double, comment:null)], properties:null)
      INFO  : Completed compiling command(queryId=hive_20180705123007_dd94e295-9e3e-440e-9818-2e7f8458f06d); Time taken: 0.143 seconds
      INFO  : Executing command(queryId=hive_20180705123007_dd94e295-9e3e-440e-9818-2e7f8458f06d): SELECT `__time`, max(ss_quantity), sum(ss_wholesale_cost)
      FROM misc_store_sales_denormalized_subset
      GROUP BY `__time`
      INFO  : Completed executing command(queryId=hive_20180705123007_dd94e295-9e3e-440e-9818-2e7f8458f06d); Time taken: 0.003 seconds
      INFO  : OK
      org.apache.hive.service.cli.HiveSQLException: java.io.IOException: java.lang.IllegalArgumentException: Cannot create timestamp, parsing error
      Closing: 0: jdbc:hive2://ctr-e138-1518143905142-397384-01-000006.hwx.site:2181,ctr-e138-1518143905142-397384-01-000005.hwx.site:2181,ctr-e138-1518143905142-397384-01-000004.hwx.site:2181,ctr-e138-1518143905142-397384-01-000007.hwx.site:2181,ctr-e138-1518143905142-397384-01-000008.hwx.site:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2-interactive;principal=hive/_HOST@HWQE.HORTONWORKS.COM
      

      Facing this issue after removed condition to create Druid Hive table with (TIMESTAMP with local time zone)

      -SELECT CAST(d_date AS TIMESTAMP with local time zone) AS `__time`,
      +SELECT CAST(d_date AS TIMESTAMP) AS `__time`,
      

      create table with
      SELECT CAST(d_date AS TIMESTAMP with local time zone) AS `__time . works fine

      HSI log:

      2018-07-05T12:30:08,297 INFO  [6b9ca95f-3aee-44cc-b2eb-2aa9bdec2b38 HiveServer2-Handler-Pool: Thread-326]: session.SessionState (SessionState.java:resetThreadName(449)) - Resetting thread name to  HiveServer2-Handler-Pool: Thread-326
      2018-07-05T12:30:08,297 WARN  [HiveServer2-Handler-Pool: Thread-326]: thrift.ThriftCLIService (ThriftCLIService.java:FetchResults(795)) - Error fetching results:
      org.apache.hive.service.cli.HiveSQLException: java.io.IOException: java.lang.IllegalArgumentException: Cannot create timestamp, parsing error
              at org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:465) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.operation.OperationManager.getOperationNextRowSet(OperationManager.java:309) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.session.HiveSessionImpl.fetchResults(HiveSessionImpl.java:905) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.CLIService.fetchResults(CLIService.java:561) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.thrift.ThriftCLIService.FetchResults(ThriftCLIService.java:786) [hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1837) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.rpc.thrift.TCLIService$Processor$FetchResults.getResult(TCLIService.java:1822) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingProcessor.process(HadoopThriftAuthBridge.java:647) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286) [hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_112]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_112]
              at java.lang.Thread.run(Thread.java:745) [?:1.8.0_112]
      Caused by: java.io.IOException: java.lang.IllegalArgumentException: Cannot create timestamp, parsing error
              at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:602) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:509) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2695) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.reexec.ReExecDriver.getResults(ReExecDriver.java:229) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:460) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              ... 13 more
      Caused by: java.lang.IllegalArgumentException: Cannot create timestamp, parsing error
              at org.apache.hadoop.hive.common.type.Timestamp.valueOf(Timestamp.java:163) ~[hive-common-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.druid.serde.DruidSerDe.deserialize(DruidSerDe.java:403) ~[hive-druid-handler-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.exec.FetchOperator.getNextRow(FetchOperator.java:583) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.exec.FetchOperator.pushRow(FetchOperator.java:509) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.exec.FetchTask.fetch(FetchTask.java:146) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.Driver.getResults(Driver.java:2695) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hadoop.hive.ql.reexec.ReExecDriver.getResults(ReExecDriver.java:229) ~[hive-exec-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              at org.apache.hive.service.cli.operation.SQLOperation.getNextRowSet(SQLOperation.java:460) ~[hive-service-3.1.0.3.0.0.0-1602.jar:3.1.0.3.0.0.0-1602]
              ... 13 more
      
      

      Attachments

        1. HIVE-20105.patch
          22 kB
          Nishant Bangarwa

        Issue Links

          Activity

            People

              nishantbangarwa Nishant Bangarwa
              dileep529 Dileep Kumar Chiguruvada
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: