Flink相對於Spark的優點

2022-07-10 21:45:15 字數 680 閱讀 2583

flink 基於兩階段提交實現了精確的一次處理語義。

spark streaming 只能做到不丟資料,但是有重複。

flink 在資料傳輸過程中使用了分布式阻塞佇列,乙個阻塞佇列中,當佇列滿了以後傳送者會被天然阻塞住,這種阻塞功能相當於給這個阻塞佇列提供了反壓的能力。

spark streaming 為了實現反壓這個功能,在原來的架構基礎上構造了乙個「速率控制器」,這個「速率控制器」會根據幾個屬性,如任務的結束時間、處理時長、處理訊息的條數等計算乙個速率。在實現控制資料的接收速率中用到了乙個經典的演算法,即「pid 演算法」。

flink是流處理,用流的思想做批處理。

spark 是微批處理,用批的思想做流處理。

sparkstreaming是秒級別的

structured streaming是毫秒級別的

flink是亞秒級別的

spark的狀態管理目前做的比較簡單,只有兩個對應的運算元(updatestatebykey和mapwithstate)

flink 提供檔案、記憶體、rocksdb 三種狀態儲存,五種型別的狀態,(valuestate,liststate,reducingstate,aggregatingstate,foldingstate,mapstate)

spark只能根據處理時間視窗批量處理

flink可以基於處理時間,資料時間,沒有記錄等的視窗

WPF 獲得滑鼠相對於螢幕的位置,相對於控制項的位置

原文 wpf 獲得滑鼠相對於螢幕的位置,相對於控制項的位置 相對於螢幕的位置 第一步 用於獲得滑鼠相對於螢幕的位置 public class win32 重新整理桌面 dllimport shell32.dll public static extern void shchangenotify uin...

WPF 獲得滑鼠相對於螢幕的位置,相對於控制項的位置

原文 wpf 獲得滑鼠相對於螢幕的位置,相對於控制項的位置 相對於螢幕的位置 第一步 用於獲得滑鼠相對於螢幕的位置 public class win32 重新整理桌面 dllimport shell32.dll public static extern void shchangenotify uin...

springMVC 相對於 Structs 的優勢

智者說,沒有經過自己的思考和估量,就不能接受別人的東西。資料只能是乙個參考,至於是否正確,還得自己去分辨 springmvc相對於 structs 的幾個優勢 1 springmvc安全性更高,structs2 框架是類級別的攔截,每次 request 請求structs2 都會為之建立乙個 act...