【问题标题】:Athena Table Timestamp With Time Zone Not Possible?Athena Table Timestamp with Time Zone 不可能?
【发布时间】:2021-08-24 14:59:32
【问题描述】:

我正在尝试创建一个带有包含时区信息的时间戳列的雅典娜表。创建 sql 看起来像这样:

        CREATE EXTERNAL TABLE `tmp_123` (
`event_datehour_tz` timestamp with time zone
        )
        ROW FORMAT SERDE 
          'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
        STORED AS INPUTFORMAT 
          'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat' 
        OUTPUTFORMAT 
          'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
        LOCATION
          's3://...'
        TBLPROPERTIES (
          'Classification'='parquet'
        )

当我运行它时,我得到了错误:

第 1:8 行:输入“外部”不匹配。期望:'or'、'schema'、'table'、'view'(服务:amazonathena;状态代码:400;错误代码:invalidrequestexception;请求 ID:b7fa4045-a77e-4151-84d7-1b43db2b68f2;代理:null)

如果我删除with time zone,它将创建表。我试过这个和timestamptz。不能在 athena 中创建一个具有timestamp with time zone 列的表吗?

【问题讨论】:

    标签: amazon-athena presto


    【解决方案1】:

    不幸的是Athena does not support timestamp with time zone

    您可以在该函数调用周围使用CAST() 函数,这会将类型从timestamp with time zone 更改为timestamp

    或者,您可以将其保存为timestamp 并使用AT TIME STAMP 运算符,如下所示:

     SELECT event_datehour_tz AT TIME ZONE 'America/Los_Angeles' AS la_time;
    

    【讨论】:

      猜你喜欢
      • 2023-01-10
      • 2012-04-04
      • 2020-09-20
      • 2011-03-14
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      相关资源
      最近更新 更多