【发布时间】:2019-02-02 03:06:35
【问题描述】:
如果我可以计算按天(或按月)创建的用户数量,我希望在 Amazon Athena 中获得结果
但之前我必须将 unix 时间戳转换为另一种日期格式。这就是我失败的地方。
我的最后一个目标是转换这种类型的时间戳:
1531888605109
类似:
2018-07-18
但是当我尝试应用我在这个问题中看到的解决方案时:Casting unix time to date in Presto
我得到了错误:
[Simba]AthenaJDBC AWS Athena 客户端引发错误。 SYNTAX_ERROR:第 1:13 行:函数 from_unixtime 的意外参数 (varchar)。预期: from_unixtime(double) , from_unixtime(double, bigint, bigint) , from_unixtime(double, varchar(x)) [SQL State=HY000, DB Errorcode=100071]
这是我的查询:
select cast(from_unixtime(created)as date) as date_creation,
count(created)
from datalake.test
group by date_creation
也许我必须转换字符串,因为该字段的数据类型不是日期。
【问题讨论】:
-
也许给你正在使用的 Athena 版本的链接。
-
错误消息是说
from_unixtime需要一个双精度,但提供的参数created是varchar类型(Hive 字符串类型的SQL 名称)。所以你需要类似 listfrom_unixtime(cast(created as DOUBLE))
标签: date amazon-athena presto