2017-05-30 70 views
0

在因帕拉pst转换一些我得到不正确的数据,同时从UTC转换为PST.When时间戳我在蜂巢上运行相同的查询,我得到正确的数据,但在黑斑羚PST转换是没有做正确的一些日期。UTC在因帕拉

帕拉:

select from_utc_timestamp('2006-08-30 08:00:00','PST') 
2006-08-30 01:00:00 

蜂巢:

select from_utc_timestamp('2006-08-30 08:00:00','PST') 
2006-08-30 00:00:00 

为了克服是否有任何其它的方式来UTC转换到PST以下时区转换

回答

0

使用的黑斑羚。 from_utc_timestamp(时间戳,字符串时区)

timezone : 
for Eastern Time: America/New_York or EST5EDT 
for Central Time: America/Chicago or CST6CDT 
for Mountain Time: America/Denver or MST7MDT 
    Phoenix won't observe daylight saving time: America/Phoenix 

for Pacific Time: America/Los_Angeles or PST8PDT 
for Alaska Time: America/Anchorage or America/Juneau 
for Hawaii Time: America/Adak or EST5EDT 
    Honolulu won't observe day light saving time: Pacific/Honolulu 

select from_utc_timestamp('2017-03-11 13:41:22.084','America/Los_Angeles') 
    2017-03-11 05:41:22.084000000           

select from_utc_timestamp('2017-03-12 13:41:22.084','America/Los_Angeles') 
    2017-03-12 06:41:22.084000000          

select from_utc_timestamp('2017-11-03 13:41:22.084','America/Los_Angeles') 
    2017-11-03 06:41:22.084000000          

select from_utc_timestamp('2017-11-04 13:41:22.084','America/Los_Angeles') 
    2017-11-04 06:41:22.084000000           

select from_utc_timestamp('2017-11-05 13:41:22.084','America/Los_Angeles') 
    2017-11-05 05:41:22.084000000          

**Daylight saving time(2017) ends at 2:00 AM on Sunday, November 5** 
select from_utc_timestamp('2017-11-05 08:58:00.000','America/Los_Angeles') 
    2017-11-05 01:58:00 (UTC -7hrs)             

select from_utc_timestamp('2017-11-05 08:59:00.000','America/Los_Angeles') 
    2017-11-05 01:59:00 (UTC -7hrs)             

select from_utc_timestamp('2017-11-05 09:00:00.000','America/Los_Angeles') 
    2017-11-05 01:00:00 (UTC -8hrs)            

select from_utc_timestamp('2017-11-05 09:01:00.000','America/Los_Angeles') 
    2017-11-05 01:01:00 (UTC -8hrs) 
+0

这看起来并不像一个S.O. *答案* - 这只是一个观察列表(不容易阅读BTW),没有任何明确的结论或建议。你可以编辑你的答案*(a)*用“代码样本”风格格式化代码样本; *(b)*阐述根本原因,例如_“PST在Java(Hive)和C++(Impala)中是不明确的和不同的解释”(我只是在猜测); *(c)*提出解决方法? –

+0

选择from_utc_timestamp( '2017年11月5日13:41:22.084', '美国/洛杉矶') 这是行不通的。 – vivman

+0

我在2017年11月5日添加了DST更改。我在CDH5.7.6上执行了此操作,但未发现任何问题。 –