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

Superset v1.5.1中Prophet Forecast功能无法使用求助

Superset v1.5.1 Forecast功能异常:开启后返回"No results were returned for this query"排查方案

背景

使用Superset v1.5.1,基于Druid SQL查询Druid数据源,已通过以下命令安装Forecast依赖:

pip --no-cache-dir install pystan==2.19.1.1 && pip install prophet

或

pip install lunarcalendar tqdm "pystan<3.0" && pip install "prophet>=1.0.1, <1.1"

依赖安装无异常,但开启Forecast功能后始终返回No results were returned for this query,关闭Forecast则查询正常。


排查步骤

1. 验证Forecast生成的SQL在Druid中的有效性

  • 开启Forecast后,在Superset查询界面点击查看查询,复制生成的完整SQL语句;
  • 将该SQL直接在Druid控制台执行,确认是否真的无结果:
    • 如果Druid执行也无结果,说明是查询逻辑(时间粒度、数据范围等)的问题;
    • 如果Druid执行有结果,说明是Superset对Forecast结果的处理逻辑存在异常。

2. 确认Prophet依赖在Superset环境中正常加载

  • 进入Superset容器,执行以下命令验证依赖:
    python -c "from prophet import Prophet; print('Prophet loaded successfully')"
    
  • 若报错,说明依赖未安装到Superset使用的Python环境,需指定Superset的Python解释器重新安装(比如/usr/local/bin/python -m pip install ...);
  • 同时检查Superset配置文件superset_config.py中FEATURE_FLAGS是否开启Forecast:
    FEATURE_FLAGS = {
        "FORECAST": True,
        # 其他配置项
    }
    
    修改后需重启Superset服务。

3. 检查时间序列数据的有效性

  • 确保基础查询返回的时间序列数据满足Prophet的最低要求:至少包含10个以上连续的时间点,且时间字段为Druid支持的时间类型(如timestamp);
  • 验证时间粒度匹配:Forecast设置的时间粒度(如小时、天)需与Druid数据的存储粒度一致,避免因聚合后无数据返回空结果。

4. 排查Druid侧的查询限制

  • 查看Druid Broker/Coordinator节点的查询日志,确认是否存在查询超时、资源不足或语法不兼容的情况;
  • 检查Druid的查询限制配置(如broker.runtime.query.limit、query.timeout),若Forecast查询数据量过大,可能被拦截导致无结果。

5. 尝试升级Superset小版本

Superset v1.5.1存在部分Forecast功能的兼容性bug,可尝试升级到v1.5.2或更高同系列小版本,验证问题是否修复。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 06:24:25