您好,登錄后才能下訂單哦!
flink好做spark卻不好做的場景有哪些,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
經常有粉絲問我該選flink和spark streaming
業務選型對新手來說是件非常困難的事情,對于經驗豐富又經常思考的人來說就很簡單。
選型的時候個人準備知識:
1.深入了解框架。
2.深入了解框架的周邊生態。
3.深入了解你自己的業務場景。
就拿flink和spark streaming來說吧,要是理解其設計靈感就會很簡單的理解該選誰:
spark 是做批處理起家,然后以微批的形式開創了流處理。使用場景很顯而易見了,允許一點延遲,批量處理,吞吐量優先地,而且spark streaming貢獻者這么多依然很穩定。
flink是以流處理起家,然后以流處理的靈感去創建批處理。那就很適合實時性高的場景了。目前還是存在bug的。
這樣貌似還是很抽象,就以具體場景來說吧,flink好做而spark streaming不好做的:
1.全局去重,全局聚合操作,比如distinct ,uv等業務場景。flink適合,spark streaming做起來比較麻煩,后者要借助狀態算子或者第三方存儲,比如redis,alluxio等。
2.開窗操作且要求同一個窗口多次輸出。這個可以用flink的trigger,spark streaming比較麻煩。
3.僅一次處理。spark streaming實現僅一次處理大部分都是依賴于輸出端的冪等性。而flink,可以通過其分布式checkpoint的性質結合sink的事物來實現,也即分布式兩段提交協議。當然,flink也可以利用sink的冪等性來實現僅一次處理。
4.更容易實現ddl,dml等完整的sql支持,進而實現完全sql實現業務開發,類似blink。spark streaming需要微批rdd轉化為表,也是一個臨時小表,不是全局的。
5.狀態管理。flink可以方便地使用文件后端實現大狀態管理,但是頻繁發作也會引發linux系統操作文件的一些bug。當然,spark streaming可以靈活的使用第三方接口比如alluxio等也很方便。
看完上述內容,你們掌握flink好做spark卻不好做的場景有哪些的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。