amazon-athena - 如何在 Athena / Presto 中将“2018 年 3 月 31 日”这种格式的日期从字符串转换为日期?
问题描述
使用 amazon Athena 我从 CSV 文件创建了一个表,以下是 athena 创建的查询,但是问题是即使我将字符串替换为日期,我也无法获取日期格式的日期字段。在 csv 文件中,日期格式为 Apr 01 2018;
CREATE EXTERNAL TABLE IF NOT EXISTS default.invoice (
`cust_id` string,
`invoice_id` string,
`dated` string,
`from` string,
`to` string,
`amount` decimal,
`sgst` decimal,
`total_amount` decimal,
`amt_words` string
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'serialization.format' = ',',
'field.delim' = ','
) LOCATION 's3://snt-csv/'
TBLPROPERTIES ('has_encrypted_data'='false');
解决方案
date_parse
与'%b %d %Y'
格式一起使用并将结果转换为date
.
presto> select cast(date_parse('Apr 01 2018', '%b %d %Y') as date);
_col0
------------
2018-04-01
推荐阅读
- javascript - Javascript中的数字计算
- php - 如何阻止 CognitoIdentityProviderException 在 AWS PHP sdk 中返回 500 状态代码
- javascript - 谷歌图表,时间线有太多年了,但只有一个月的数据
- node.js - 在预检响应中允许在 Access-Control-Allow-Header 中提交的请求标头
- structure - Bio.PDB 如何识别异质残基?
- python - 为什么 sys.path 以空字符串开头?
- docker - 为 Haskel Web 应用程序构建 docker 映像的最佳实践是什么
- python - 粘性页脚不适用于 django 中的扩展 html?
- vbscript - 从 txt 读取并清理 \x00
- javascript - FileReader.readAsArray() 来自其他来源