hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rahul (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HIVE-12729) In Hive 1.2 - current_date() comparison results in Error Unsupported conversion from type: interval_day_time
Date Tue, 22 Dec 2015 08:35:46 GMT
Rahul created HIVE-12729:
----------------------------

             Summary: In Hive 1.2 - current_date() comparison results in Error Unsupported
conversion from type: interval_day_time 
                 Key: HIVE-12729
                 URL: https://issues.apache.org/jira/browse/HIVE-12729
             Project: Hive
          Issue Type: Bug
          Components: Hive
    Affects Versions: 1.2.0
            Reporter: Rahul


I am using current_date() in my query where clause along with table column of type date for
comparison using artihmatic operator "-" (minus) and "<" / ">" operators - for example:

SELECT DISTINCT customerid FROM Customer_date WHERE 
   ((Customer_date.my_date_mmdyyyy - CURRENT_DATE()) >= 7) 

It results in error as:
====================================================
ERROR : Vertex failed, vertexName=Map 1, vertexId=vertex_1449057948397_0330_1_00, diagnostics=[Task
failed, taskId=task_1449057948397_0330_1_00_000000, diagnostics=[TaskAttempt 0 failed, info=[Error:
Failure while running task:java.lang.RuntimeException: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException:
Hive Runtime Error while processing row {"customerid":1,"my_date_mmdyyyy":"1982-01-01","my_date_ddmmyy":"1982-01-01","my_date_ddmmyyyy":"1982-01-01","my_date_mdyyyy":"1982-01-01","my_date_mdyyyyhh":"1982-01-01
00:00:00","my_date_mdyyyyhh24":"1982-01-01 00:00:00"}
	at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:171)
	at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.run(TezProcessor.java:137)
	at org.apache.tez.runtime.LogicalIOProcessorRuntimeTask.run(LogicalIOProcessorRuntimeTask.java:344)
	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:179)
	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable$1.run(TezTaskRunner.java:171)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:415)
	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.callInternal(TezTaskRunner.java:171)
	at org.apache.tez.runtime.task.TezTaskRunner$TaskRunnerCallable.callInternal(TezTaskRunner.java:167)
	at org.apache.tez.common.CallableWithNdc.call(CallableWithNdc.java:36)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive
Runtime Error while processing row {"customerid":1,"my_date_mmdyyyy":"1982-01-01","my_date_ddmmyy":"1982-01-01","my_date_ddmmyyyy":"1982-01-01","my_date_mdyyyy":"1982-01-01","my_date_mdyyyyhh":"1982-01-01
00:00:00","my_date_mdyyyyhh24":"1982-01-01 00:00:00"}
	at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:91)
	at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.pushRecord(MapRecordSource.java:68)
	at org.apache.hadoop.hive.ql.exec.tez.MapRecordProcessor.run(MapRecordProcessor.java:310)
	at org.apache.hadoop.hive.ql.exec.tez.TezProcessor.initializeAndRunProcessor(TezProcessor.java:148)
	... 14 more
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing
row {"customerid":1,"my_date_mmdyyyy":"1982-01-01","my_date_ddmmyy":"1982-01-01","my_date_ddmmyyyy":"1982-01-01","my_date_mdyyyy":"1982-01-01","my_date_mdyyyyhh":"1982-01-01
00:00:00","my_date_mdyyyyhh24":"1982-01-01 00:00:00"}
	at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:545)
	at org.apache.hadoop.hive.ql.exec.tez.MapRecordSource.processRow(MapRecordSource.java:83)
	... 17 more
Caused by: java.lang.RuntimeException: Hive 2 Internal error: unsupported conversion from
type: interval_day_time
	at org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils.getDouble(PrimitiveObjectInspectorUtils.java:779)
	at org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorConverter$DoubleConverter.convert(PrimitiveObjectInspectorConverter.java:240)



=====================================================


As a alternative I can use query as:
   SELECT DISTINCT customerid FROM Customer_date WHERE 
   (current_date() - my_date_mmdyyyy ) = interval '0 0:0:0' day to second

I cant use this query all the time with interval type attached for the comparison. Is there
any way original query can be fixed to serve the results without specifying Interval:

Original query:
SELECT DISTINCT customerid FROM Customer_date WHERE 
   ((Customer_date.my_date_mmdyyyy - CURRENT_DATE()) >= 7) 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message