为了账号安全,请及时绑定邮箱和手机立即绑定

AWS Athena 误读日期格式

AWS Athena 误读日期格式

HUWWW 2022-05-24 16:27:25
我正在尝试将 pandas 数据帧上传到 S3 存储桶,然后使用 Athena 进行查询。我已按以下格式上传日期时间:pd.to_datetime(df["myDateTime"], format='%Y-%m-%d %H:%M:%S')2019-08-07 08:04:43.942000+00:00df.dtypesmyDateTime datetime64[ns, UTC]当我尝试在 Athena 中查询结果时,我得到了这样的结果:+51568-02-09 14:52:22.000CREATE EXTERNAL TABLE IF NOT EXISTS default.dashboardtable(  `myDateTime` timestamp,我尝试更改 Pandas 中的日期格式以排除微秒,但这似乎不起作用。
查看完整描述

2 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

我假设您正在 S3 中的镶木地板文件上构建 Athena 表。这意味着您可能正在使用该to_parquet()方法将数据帧导出到镶木地板文件。

如果您使用的是 pyarrow 引擎,您可以传递一个coerce_timestampskwarg 来to_parquet()将日期时间的精度从 ns 降低到 ms(或其他不与 Athena/presto.conf 冲突的单位)。

所以你的 to_parquet 方法应该是这样的

df.to_parquet(parquet_path, engine='pyarrow', coerce_timestamps='ms')

此解决方案不适用于其他镶木地板引擎,例如fastparquet.


查看完整回答
反对 回复 2022-05-24
?
RISEBY

TA贡献1856条经验 获得超5个赞

我遇到了类似的问题。我最终将结果整数除以 1000 并from_unixtime在查询时使用该函数。



查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 141 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号