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

求助:如何修改dbt Dataproc Serverless作业的默认超时时间?

解决dbt提交Dataproc Serverless作业超时问题

你遇到的问题是dbt端等待Dataproc作业完成的超时限制(默认900秒),和Dataproc作业自身的执行超时是两个独立配置项——之前修改的job_execution_timeout_seconds是控制作业本身的运行时长,而非dbt的等待超时。以下是可行的解决方法:

  • 全局配置(profile文件):在dbt profile的BigQuery适配器配置块中添加job_poll_timeout_seconds参数,设置为大于1800秒的值(比如2000,给作业留缓冲时间),示例:

    your_profile_name:
      target: dev
      outputs:
        dev:
          type: bigquery
          method: oauth
          project: your-project-id
          dataset: your-dataset
          location: us-central1
          job_poll_timeout_seconds: 2000
    
  • 单个模型配置:如果只需要给特定Python模型延长超时,可在模型的dbt.config()中直接指定:

    def model(dbt, session):
        dbt.config(
            materialized="table",
            job_poll_timeout_seconds=2000
        )
        # 模型逻辑代码
    

    或者在模型对应的yaml配置文件中添加:

    models:
      your_project:
        your_model:
          config:
            job_poll_timeout_seconds: 2000
    
  • 验证配置生效:运行dbt时加上--debug参数,查看日志中是否出现job_poll_timeout_seconds的设置值,确认配置已被读取。

如果使用dbt Cloud,需要在项目的环境配置中添加该参数,或在dbt_project.yml的models全局配置块中设置:

models:
  your_project:
    +job_poll_timeout_seconds: 2000

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:24:59