gpt4 book ai didi

amazon-athena - 在 Amazon Athena 中创建表时转换时间戳

转载 作者:行者123 更新时间:2023-12-04 13:22:41 26 4
gpt4 key购买 nike

我一直在使用以下查询在 Athena 中创建一个表,

CREATE EXTERNAL TABLE IF NOT EXISTS test.test_table (
`converteddate` string,
`userid` string,
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
'serialization.format' = ',',
'field.delim' = ','
) LOCATION 's3:XXXX'
TBLPROPERTIES ('has_encrypted_data'='false',"skip.header.line.count"="1")

这让我返回:
converteddate        | userid
-------------------------------------
2017-11-29T05:00:00 | 00001
2017-11-27T04:00:00 | 00002
2017-11-26T03:00:00 | 00003
2017-11-25T02:00:00 | 00004
2017-11-24T01:00:00 | 00005

我想返回:
converteddate        | userid
-------------------------------------
2017-11-29 05:00:00 | 00001
2017-11-27 04:00:00 | 00002
2017-11-26 03:00:00 | 00003
2017-11-25 02:00:00 | 00004
2017-11-24 01:00:00 | 00005

并有 转换日期 作为 日期时间 而不是 字符串 .

最佳答案

创建表时无法转换数据。但是可以在查询的同时获取数据。
您可以使用 date_parse(string,format) -> 时间戳函数。此处提到了更多详细信息。

对于您的用例,您可以执行如下操作

select date_parse(converteddate, '%y-%m-%dT%H:%i:%s') as converted_timestamp, userid
from test_table

注意:根据您的字符串类型,您必须为月(始终为两位数或不为两位数)、日、小时(12 或 24 小时格式)等选择适当的说明符

关于amazon-athena - 在 Amazon Athena 中创建表时转换时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48079588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com