- Flink SQL與DataStream入門、進(jìn)階與實(shí)戰(zhàn)
- 羊藝超
- 940字
- 2024-04-25 18:58:54
1.2 Flink的核心特性
在了解了Flink的定義以及常見應(yīng)用場景后,本節(jié)將介紹Flink作為大數(shù)據(jù)流處理引擎的5個(gè)核心特性,并從數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量兩個(gè)角度對比Apache Storm、Spark Streaming和Apache Flink的優(yōu)劣勢。
1.2.1 Flink的5個(gè)核心特性
1.真正的流處理引擎
在Flink的流處理模式下,F(xiàn)link處理數(shù)據(jù)的粒度是事件粒度或者說數(shù)據(jù)粒度,也就是來一條數(shù)據(jù)就處理一條數(shù)據(jù)。這個(gè)特性反饋到日常的業(yè)務(wù)中就是數(shù)據(jù)處理延遲極低,一般是毫秒級別,基于該特性,在實(shí)時(shí)大屏場景中,我們可以實(shí)現(xiàn)大屏指標(biāo)的快速更新。
2.強(qiáng)大性能的分布式計(jì)算引擎
Flink是分布式的計(jì)算引擎,處理數(shù)據(jù)的吞吐能力能夠輕松達(dá)到百萬、千萬級別QPS(Queries Per Second,每秒處理數(shù)據(jù)的條目)。Flink處理數(shù)據(jù)的吞吐量在很多場景下甚至可以做到和物理資源呈線性關(guān)系,因此在面對大流量數(shù)據(jù)時(shí),F(xiàn)link無所畏懼。
3.時(shí)間語義豐富的計(jì)算引擎
Flink預(yù)置了多種時(shí)間語義的API,包括事件時(shí)間、處理時(shí)間和攝入時(shí)間語義,我們可以通過這些預(yù)置API實(shí)現(xiàn)時(shí)間窗口上的高效數(shù)據(jù)處理。
4.高可用的有狀態(tài)計(jì)算引擎
Flink不但提供了豐富的狀態(tài)類型及狀態(tài)操作API,而且提供了Checkpoint、Savepoint這樣的快照機(jī)制來保障精確一次的數(shù)據(jù)處理,即使作業(yè)發(fā)生異常,我們也無須擔(dān)心數(shù)據(jù)丟失或者重復(fù)。同時(shí),F(xiàn)link支持TB級別的狀態(tài)數(shù)據(jù)存儲能力。
5.流批一體的計(jì)算引擎
Flink不僅是流處理的好手,目前在批處理方面也在大力發(fā)展,我們通過同一條SQL語句就可以同時(shí)完成流處理、批處理,這可以顯著降低開發(fā)、維護(hù)和資源使用的成本。
1.2.2 3種流處理引擎特性的對比
在學(xué)習(xí)流處理引擎相關(guān)的知識時(shí),除了Flink,一定繞不開Apache Storm、Spark Streaming,它們都是老牌流處理引擎,那么為什么Flink會后來居上呢?
我們以流處理場景中常用的兩個(gè)標(biāo)準(zhǔn)來看看這3個(gè)引擎各自的優(yōu)缺點(diǎn)。這兩個(gè)標(biāo)準(zhǔn)分別是數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量。
?數(shù)據(jù)處理延遲:流處理的核心要求是數(shù)據(jù)處理快,因此數(shù)據(jù)處理延遲是衡量流處理引擎優(yōu)劣的重要指標(biāo)。
?產(chǎn)出數(shù)據(jù)質(zhì)量:流處理作業(yè)一般都是7×24小時(shí)運(yùn)行的,這期間很難保證作業(yè)不發(fā)生故障,數(shù)據(jù)質(zhì)量主要指流處理作業(yè)在發(fā)生故障后,通過自身的異常容錯(cuò)功能是否能夠保證數(shù)據(jù)計(jì)算結(jié)果的準(zhǔn)確性。
表1-1是3種流處理引擎關(guān)于數(shù)據(jù)處理延遲、產(chǎn)出數(shù)據(jù)質(zhì)量的對比。
表1-1 3種流處理引擎關(guān)于數(shù)據(jù)處理延遲、產(chǎn)出數(shù)據(jù)質(zhì)量的對比

通過上述對比,我們可以看到相比其他兩個(gè)計(jì)算引擎Flink在數(shù)據(jù)處理延遲和產(chǎn)出數(shù)據(jù)質(zhì)量上都具有明顯的優(yōu)勢。
- ServiceNow Application Development
- AngularJS Testing Cookbook
- Getting started with Google Guava
- Go語言高效編程:原理、可觀測性與優(yōu)化
- Mastering Selenium WebDriver
- Python自動化運(yùn)維快速入門
- 正則表達(dá)式經(jīng)典實(shí)例(第2版)
- Unity 5.x By Example
- Expert Data Visualization
- bbPress Complete
- BeagleBone Black Cookbook
- NetBeans IDE 8 Cookbook
- Android應(yīng)用開發(fā)實(shí)戰(zhàn)
- TypeScript圖形渲染實(shí)戰(zhàn):2D架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)
- SQL Server 2012 數(shù)據(jù)庫應(yīng)用教程(第3版)