flink實戰——flinkSQL 追加模式與縮進模式(toRetractStream)的區別


轉自:https://blog.csdn.net/aA518189/article/details/87816139
簡介
         使用flinkSQL處理實時數據當我們把表轉化成流的時候,需要使用toAppendStream與toRetractStream這兩個方法。稍不注意可能直接選擇了toAppendStream。這個兩個方法還是有很大區別的,下面具體介紹。

toAppendStream與toRetractStream的區別
追加模式:只有在動態Table僅通過INSERT更改修改時才能使用此模式,即它僅附加,並且以前發出的結果永遠不會更新。

如果更新或刪除操作使用追加模式會失敗報錯

 

 

縮進模式:始終可以使用此模式。返回值是boolean類型。它用true或false來標記數據的插入和撤回,返回true代表數據插入,false代表數據的撤回

按照官網的理解如果數據只是不斷添加,可以使用追加模式,其余方式則不可以使用追加模式,而縮進模式側可以適用於更新,刪除等場景。具體的區別 如下圖所示:

 

 

 

 

通過上圖可以清晰的看到兩種方式的區別,當我們使用的sql語句包含:count() group by時,必須使用縮進模式。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM