我试图使用结果INFO作为条件,但看看问题
我有这个问题
REFRESH MATERIALIZED VIEW mvw_test_2020;
此查询显示输出:
'信息:物化视图mvw_test_2020已经是最新的。'
但它不是像select * from some_table
那样的查询结果
我需要得到这个";INFO";值,以验证文本是否为
'INFO: Materialized view mvw_test_2020 is already up to date.'
or
'INFO: Materialized view mvw_net_mdr_not_stone_2020 was incrementally updated successfully.'
or
'INFO: Materialized view mvw_net_mdr_not_stone_2020 could not be further updated due to inflight updates.'
我需要在Airflow上使用xcom或我可以处理的东西来使用这个日志或查询结果。
有人知道怎么处理吗?
感谢
我使用下面的查询解决了这个问题:
with max_date as (
select max(starttime) as max_starttime
,mv_name
from SVL_MV_REFRESH_STATUS
group by mv_name
)
select trim(SVL_MV_REFRESH_STATUS.mv_name)
,starttime
,endtime
,status
from SVL_MV_REFRESH_STATUS
inner join max_date on (
starttime = max_date.max_starttime
and SVL_MV_REFRESH_STATUS.mv_name = max_date.mv_name
);
解释一下,我们有第一个CTE max_date
来获得包含mv_name
+starttime
的最后一行。
下面我们有一个查询,其中包含对max_date
cte进行内部联接的有价值的信息,以便通过mv_name
获取我想要的一行,最后更新到每个物化视图。