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