在 Airflow 中使用 SqlSensor,创建一个查询来检查上个月的所有日期是否都在 table
using SqlSensor in Airflow, create a query that checks if all days from previous month are in a table
这会是一种 correct/fast 检查上个月的所有日期是否都在我的 table 中的方法吗?我的 Snowflake table 有一个 'date' 列是 'date' 类型:
我正在这样做,但我觉得一定有更好的方法吗?
SELECT *
FROM dfp.revenue_allocation
WHERE YEAR("date") = '{{ execution_date.year }}'
AND MONTH("date") = '{{ execution_date.month }}'-1
为了获得最佳性能,应避免在列上使用表达式:
SELECT *
FROM dfp.revenue_allocation
WHERE "date" >= TRUNC( CAST(? AS DATE) - INTERVAL '1 MONTH', 'MONTH')
AND "date" < TRUNC( CAST(? AS DATE), 'MONTH');
Truncates a date, time, or timestamp to the specified part
这会是一种 correct/fast 检查上个月的所有日期是否都在我的 table 中的方法吗?我的 Snowflake table 有一个 'date' 列是 'date' 类型:
我正在这样做,但我觉得一定有更好的方法吗?
SELECT *
FROM dfp.revenue_allocation
WHERE YEAR("date") = '{{ execution_date.year }}'
AND MONTH("date") = '{{ execution_date.month }}'-1
为了获得最佳性能,应避免在列上使用表达式:
SELECT *
FROM dfp.revenue_allocation
WHERE "date" >= TRUNC( CAST(? AS DATE) - INTERVAL '1 MONTH', 'MONTH')
AND "date" < TRUNC( CAST(? AS DATE), 'MONTH');
Truncates a date, time, or timestamp to the specified part