【发布时间】:2020-03-19 04:04:33
【问题描述】:
我在 Athena 中有一个表,它以 S3 作为源。
其中一个表列“Col1”的数据类型为字符串。
Col1
2019-11-21T12:26:13.422Z
2019-11-21T17:12:49.812Z
2019-11-21T17:51:38.299Z
我希望将此列转换为timestamp 的数据类型。
我运行了以下查询:
SELECT
from_iso8601_timestamp(col1) AS ABC
FROM "testtest"."layer2_keywords"
然后我得到一个带有时间戳数据类型的列:
col1
col1
1 2019-11-12 10:11:08.017 UTC
2 2019-11-21 09:19:58.937 UTC
3 2019-11-22 09:23:47.786 UTC
我想用这个表输出创建一个新表。
我尝试了以下查询:
CREATE TABLE NEW_TABLE AS
SLECT
from_iso8601_timestamp(col1) AS ABC
FROM layer2_keywords
但是这个命令并没有创建一个新表。
它会抛出如下错误:
NOT_SUPPORTED:不支持的 Hive 类型:带时区的时间戳。在重试之前,您可能需要手动清理位置 's3://athena-query-results-layer2/XXXXXXXXXX/' 的数据。 Athena 不会删除您帐户中的数据。
谁能指导我如何从 AWS Athena 中的选择查询中获取一个新表以进行字符串到时间戳的转换?
我必须依赖 Athena,因为 Glue 爬虫和 Glue ETL 都没有将字符串转换为时间戳。
【问题讨论】:
标签: mysql amazon-web-services presto aws-glue amazon-athena