求助:如何修改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
相关产品推荐
相关产品推荐

