将结果查询中的'INFO:'转换为气流上的可用数据



我试图使用结果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获取我想要的一行,最后更新到每个物化视图。

最新更新