我正在尝试使用结果信息作为条件,但是看看问题
我有这个问题
REFRESH MATERIALIZED VIEW mvw_test_2020;这个查询向我展示了输出:
‘'INFO:物化视图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或其他我可以处理的东西。
有谁知道怎么处理这个问题吗?
谢谢
发布于 2020-07-26 10:08:12
我使用下面的查询解决了这个问题:
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 get,最后更新到每个实例化视图。
https://stackoverflow.com/questions/63061083
复制相似问题