You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Presto查询Cassandra表遇Millis overflow错误,如何过滤异常日期?

解决Presto查询Cassandra日期时的毫秒溢出问题

错误原因是表中存在超出Presto时间处理范围的异常日期值,需先过滤非法记录再执行聚合查询。

过滤异常日期的具体方法

  • 基于合法时间区间过滤:
    Presto能处理的常规时间范围大致是1970年到2100年,对应毫秒值区间为0(1970-01-01 00:00:00 UTC)至4102444799999(2100-01-01 23:59:59 UTC)。用时间戳直接过滤:

    SELECT max(date) 
    FROM table 
    WHERE date >= TIMESTAMP '1970-01-01 00:00:00' 
      AND date <= TIMESTAMP '2100-01-01 23:59:59';
    
  • 通过毫秒值范围过滤:
    直接转换日期为毫秒值,排除超出合理范围的记录:

    SELECT max(date) 
    FROM table 
    WHERE to_milliseconds(date) BETWEEN 0 AND 4102444799999;
    

异常数据排查

如果需要确认具体的异常记录,可以先查询超出范围的数据:

SELECT date, to_milliseconds(date) 
FROM table 
WHERE to_milliseconds(date) < 0 OR to_milliseconds(date) > 4102444799999;

根据查询结果,你可以调整过滤条件,或者直接清理这些异常数据。

内容的提问来源于stack exchange,提问作者Jose

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:05:01