gpt4 book ai didi

python - 如何从 Airflow 中的文件执行 SQL 查询? (PostgresQL 运算符)

转载 作者:行者123 更新时间:2023-12-04 12:42:00 25 4
gpt4 key购买 nike

我正在使用 PostgresSQL 运算符。任务如下:

emailage_transformations = PostgresOperator(
task_id = 'emailage_transformations',
sql = '/home/ubuntu/airflow_ci/current/scripts/antifraud/emailage_transformations.sql',
postgres_conn_id = 'redshift',
autocommit = True,
dag = dag)

起初,文件的内容是下一个:
select cd_pedido_nr,fraud_score,risk_band,ip_risk_level
into antifraud.stg_emailage_id_pedido
from antifraud.stg_emailage_id_email e
left join antifraud.info_emails i on id_email = cd_email_nr
;

我得到的错误是
jinja2.exceptions.TemplateNotFound: /home/ubuntu/airflow_ci/current/scripts/antifraud/emailage_transformations.sql

所以我在查询中添加了几个括号以符合 jinja2 模板,现在文件代码是:
{select cd_pedido_nr,fraud_score,risk_band,ip_risk_level
into antifraud.stg_emailage_id_pedido
from antifraud.stg_emailage_id_email e
left join antifraud.info_emails i on id_email = cd_email_nr
;}

但是,我仍然有同样的错误。我怎么能解决呢?

最佳答案

我在以下链接中指出,您应该提供 template_searchpath 到您的 DAG 以使其能够选择您的外部文件(SQL 或其他文件)

  • External files in Airflow DAG
  • How to pass SQL as file with parameters to Airflow Operator
  • Template_searchpath gives TemplateNotFound error in Airflow and cannot find the SQL script

  • 或者使外部文件可发现,例如 by modifying AIRFLOW_HOME 或通过 other tricks也可以工作

    关于python - 如何从 Airflow 中的文件执行 SQL 查询? (PostgresQL 运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57804128/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com