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

如何在catalog.yml中为SQLQueryDataSet查询传入参数实现插值?

如何在catalog.yml中为SQLQueryDataSet的SQL查询传入参数

完全可以实现SQL查询的参数插值,但你示例中的写法需要调整,不能直接用${id},得借助框架的参数注入机制(以Kedro为例,因为pandas.SQLQueryDataSet是Kedro的DataSet类型):

  • 第一步:在参数文件中定义要传入的参数
    在conf/base/parameters.yml里添加参数配置:

    query_params:
      id: 123
    
  • 第二步:修改catalog.yml的SQL模板
    使用Jinja2模板语法引用参数,替换你的原始配置:

    person:
      type: pandas.SQLQueryDataSet
      sql: "SELECT * FROM public.people WHERE id = {{ params.query_params.id }};"
      credentials: db_credentials
    
  • 第三步:动态传参(可选)
    如果需要在运行时指定不同的id值,可以通过kedro run命令的--params选项传入:

    kedro run --params query_params.id=456
    

注意:Kedro的catalog.yml默认支持Jinja2模板插值,所以必须用{{ ... }}的语法来引用参数,而不是${id}这种格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 09:53:14