[
https://issues.apache.org/jira/browse/HIVE-3510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Richard Nadeau updated HIVE-3510:
---------------------------------
Description:
When attempting to convert a UNIX timestamp to UTC the conversion fails if the
input does not include micro or nano seconds:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss'),'America/Denver')
FROM source_table LIMIT 1;{code}
*1970-01-16 14:39:21.215*
"Converting" to a float provides a workaround:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
* 1.0,'America/Denver') FROM source_table LIMIT 1;{code}
*2012-09-27 15:53:35.0*
As does "adding" nano seconds:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
* 1000,'America/Denver') FROM source_table LIMIT 1;{code}
*2012-09-27 15:53:35.0*
This problem may be at the heart of HIVE-3454 as well.
Documentation here:
https://cwiki.apache.org/Hive/languagemanual-types.html#LanguageManualTypes-Timestamps
was:
When attempting to convert a UNIX timestamp to UTC the conversion fails if the
input does not include micro or nano seconds:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss'),'America/Denver')
FROM source_table LIMIT 1;{code}
*1970-01-16 14:39:21.215*
"Converting" to a float provides a workaround:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
* 1.0,'America/Denver') FROM source_table LIMIT 1;{code}
*2012-09-27 15:53:35.0*
As does "adding" nano seconds:
{code}SELECT
to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
* 1000,'America/Denver') FROM source_table LIMIT 1;{code}
*2012-09-27 15:53:35.0*
This problem may be at the heart of HIVE-3454 as well.
> to_utc_timestamp() does not properly handle UNIX timestamp conversions
> without nanoseconds
> ------------------------------------------------------------------------------------------
>
> Key: HIVE-3510
> URL: https://issues.apache.org/jira/browse/HIVE-3510
> Project: Hive
> Issue Type: Bug
> Components: UDF
> Affects Versions: 0.9.0
> Environment: Ubuntu LTS 10.04
> Reporter: Richard Nadeau
>
> When attempting to convert a UNIX timestamp to UTC the conversion fails if
> the input does not include micro or nano seconds:
> {code}SELECT
> to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss'),'America/Denver')
> FROM source_table LIMIT 1;{code}
> *1970-01-16 14:39:21.215*
> "Converting" to a float provides a workaround:
> {code}SELECT
> to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
> * 1.0,'America/Denver') FROM source_table LIMIT 1;{code}
> *2012-09-27 15:53:35.0*
> As does "adding" nano seconds:
> {code}SELECT
> to_utc_timestamp(unix_timestamp('27/Sep/2012:09:53:35','dd/MMM/yyyy:HH:mm:ss')
> * 1000,'America/Denver') FROM source_table LIMIT 1;{code}
> *2012-09-27 15:53:35.0*
> This problem may be at the heart of HIVE-3454 as well.
> Documentation here:
> https://cwiki.apache.org/Hive/languagemanual-types.html#LanguageManualTypes-Timestamps
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira