提问人:MC7836 提问时间:9/19/2023 更新时间:9/19/2023 访问量:62
Airflow DAG 中用于 Snowflake SQL 查询的动态日期参数
Dynamic Date Parameter in Airflow DAG for Snowflake SQL Query
问:
我正在使用带有 Airflow 的 Google Cloud Composer 在 Snowflake 上运行 SQL 查询。我需要根据条件设置日期参数,然后在我的 SQL 文件中使用该参数。具体来说,我试图根据上个月是否是季度末来确定日期。如果是这样,我想相应地调整我的参数,并在查询的所有相关位置重用它
我尝试将参数设置为多语句 SQL 文件的一部分,以便在 DAG 中运行,如下所示:
DECLARE
VAR_QTR DATE;
BEGIN
-- Set your VAR_QTR
SET VAR_QTR = (
SELECT
CASE
WHEN MONTH(CURRENT_DATE::DATE - INTERVAL '1 month') % 3 = 0
THEN DATE_TRUNC('quarter', CURRENT_DATE::DATE) - INTERVAL '1 quarter'
ELSE DATE_TRUNC('quarter', CURRENT_DATE::DATE) - INTERVAL '0 quarter'
END
)
;
SOME SQL CODE HERE...
LEFT JOIN
TABLE dc
ON dc.company_id = c.COMPANY_ID
AND dc.deleted_at <= :$VAR_QTR
END;
我在气流中遇到的错误是会话变量“$VAR_QTR”不存在。如何在 Airflow 中使用 SQL 保存在 fil 中(而不是 DAG 本身)来执行此操作
答: 暂无答案
评论
set
var_qtr := <code>
select null from some_table where some_column = :var_qtr