我正在尝试在Hive查询中将EST日期时间转换为UTC,但无法将夏令时考虑在内。你知道怎么在Hive中考虑夏令时吗?
例如:
TO_UTC_TIMESTAMP('2014-12-31 00:00:00', 'EST')
给出2014-12-31 05:00:00
即5小时差异
TO_UTC_TIMESTAMP('2014-06-30 00:00:00', 'EST')
提供2014-06-30 05:00:00
,也提供5小时差异
我期待6月份的查询给出4小时的差异。
6月东海岸观察EDT(东部夏令时),但Hive根本不了解EDT:
TO_UTC_TIMESTAMP('2014-12-31 00:00:00', 'EDT')
给出2014-12-31 00:00:00
,即无差异
有什么想法吗?
谢谢, ILMARI
(在AWS Elastic MapReduce上运行Hadoop 1.0.3)
答案 0 :(得分:2)
这是来自Hive项目的一个解决此问题的开放票证。
https://issues.apache.org/jira/browse/HIVE-12194
见第二评论:
Ben Breakstone添加了评论 - 16 / Oct / 15 16:54 值得注意的是,美国三字母代码(如“PDT”)的夏令时版本未包含在/ lib / zi /中用于Oracle JDK。像“PST8PDT”这样的新标识符似乎按预期工作。 见http://www.oracle.com/technetwork/articles/javase/alertfurtherinfo-139131.html
也许Ben Breakstone建议使用新标识符?