全部產品
Search
文件中心

Realtime Compute for Apache Flink:Where

更新時間:Jul 13, 2024

本文為您介紹Where修改的可相容性和不可相容性詳情。

Where的計算不涉及到狀態,因此它的修改不會影響自身運算元的狀態相容,但它的修改會影響其輸出運算元的相容性。

如果需要通過修改Where條件來修正作業資料(例如過濾髒資料),在其他配置中添加如下配置,具體操作請參見如何配置作業運行參數?。添加以下配置後,如果您修改了Where條件後,則系統會忽略該修改對下遊運算元狀態的相容性判斷的影響。

table.optimizer.state-compatibility.ignore-filter=true
說明

該參數預設值為false。

-- 原始SQL。
select a, sum(b), max(c) from MyTable group by a;

-- 添加Where並且設定table.optimizer.state-compatibility.ignore-filter=false,該修改屬於不相容修改。
select a, sum(b), max(c) from (select * from MyTable where a > 10) group by a;

-- 添加Where並且設定table.optimizer.state-compatibility.ignore-filter=true,該修改屬於完全相容修改。
select a, sum(b), max(c) from (select * from MyTable where a > 10) group by a;