溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Flink的概念及特點是什么

發(fā)布時間:2021-11-23 11:05:37 來源:億速云 閱讀:274 作者:柒染 欄目:大數(shù)據(jù)

Flink的概念及特點是什么,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Flink概念

ApacheFlink是一個面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計算平臺,它能夠基于同一個Flink運行時,提供支持流處理和批處理兩種類型應(yīng)用的功能。

現(xiàn)有的開源計算方案,會把流處理和批處理作為兩種不同的應(yīng)用類型,因為它們所提供的SLA(Service-Level-Aggreement)是完全不相同的:流處理一般需要支持低延遲、Exactly-once保證,而批處理需要支持高吞吐、高效處理。

Flink從另一個視角看待流處理和批處理,將二者統(tǒng)一起來:Flink是完全支持流處理,也就是說作為流處理看待時輸入數(shù)據(jù)流是無界的;批處理被作為一種特殊的流處理,只是它的輸入數(shù)據(jù)流被定義為有界的。

Flink的概念及特點是什么

Flink特點

Apache Flink是一個面向分布式數(shù)據(jù)流處理和批量數(shù)據(jù)處理的開源計算平臺,它能夠基于同一個Flink運行時,提供支持流處理和批處理兩種類型應(yīng)用的功能。

現(xiàn)有的開源計算方案,會把流處理和批處理作為兩種不同的應(yīng)用類型,因為它們所提供的SLA(Service-Level-Aggreement)是完全不相同的:流處理一般需要支持低延遲、Exactly-once保證,而批處理需要支持高吞吐、高效處理。

Flink從另一個視角看待流處理和批處理,將二者統(tǒng)一起來:Flink是完全支持流處理,也就是說作為流處理看待時輸入數(shù)據(jù)流是無界的;批處理被作為一種特殊的流處理,只是它的輸入數(shù)據(jù)流被定義為有界的。

Flink的概念及特點是什么

Flink技術(shù)棧

Flink首先支持Local的執(zhí)行環(huán)境,所有模塊組件都可以運行在同一個JVM進程中,主要是方便開發(fā)調(diào)試,使用者在開發(fā)Flink應(yīng)用時可以在IDE環(huán)境中方便的本地運行或是設(shè)置斷點進行代碼調(diào)試。此外Flink支持Standalone模式進行分布式部署,F(xiàn)link的JobManager和TaskManager可以部署在多臺節(jié)點上,組成一個集群,管理集群資源,執(zhí)行分布式任務(wù)。同時Flink也可以委托YARN進行資源管理,F(xiàn)link的Job通過YARN申請資源。最后,F(xiàn)link也支持Google和Amazon的公有云平臺,F(xiàn)link的Job可以直接提交到公有云上執(zhí)行。用戶開發(fā)的同一個Flink業(yè)務(wù)邏輯,無需任何修改,可隨時遷移到不同的執(zhí)行環(huán)境執(zhí)行。

Flink的概念及特點是什么

Flink架構(gòu)

Client負責提交Flink作業(yè),首先將用戶的Flink Job翻譯并優(yōu)化成圖狀的Dataflow,并提交給JobManager,JobManager將Flink DataFlow切分成分布式task,并按照集群的資源配置調(diào)度task,將task分發(fā)到TaskManger執(zhí)行。TaskManager可能有多個,執(zhí)行具體的task,且負責task與task之間的數(shù)據(jù)傳輸。不同于MapReduce,F(xiàn)link的TaskManger類似于Spark的Executor,task以線程而非進程的粒度在TaskManager中執(zhí)行。在Standalone模式下,JobManger和TaskManager負責資源的管理,而在YARN模式下,JobManager相當于ApplicationMaster, 而TaskManger相當于Executor。只是負責task的調(diào)度與執(zhí)行。

Flink的概念及特點是什么

Flink編程模型

最底層級的抽象僅僅提供了有狀態(tài)流。實際上,大多數(shù)應(yīng)用并不需要上述的底層抽象,而是針對 核心API(Core APIs) 進行編程,比如DataStream API(有界或無界流數(shù)據(jù))以及DataSet API(有界數(shù)據(jù)集)Table API 是以 表 為中心的聲明式DSL,其中表可能會動態(tài)變化(在表達流數(shù)據(jù)時)。

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink程序執(zhí)行過程

Client負責提交Flink作業(yè),首先將用戶的Flink Job翻譯并優(yōu)化成圖狀的Dataflow,并提交給JobManager,JobManager將Flink DataFlow切分成分布式task,并按照集群的資源配置調(diào)度task,將task分發(fā)到TaskManger執(zhí)行。TaskManager可能有多個,執(zhí)行具體的task,且負責task與task之間的數(shù)據(jù)傳輸。不同于MapReduce,F(xiàn)link的TaskManger類似于Spark的Executor,task以線程而非進程的粒度在TaskManager中執(zhí)行。在Standalone模式下,JobManger和TaskManager負責資源的管理,而在YARN模式下,JobManager相當于ApplicationMaster, 而TaskManger相當于Executor。只是負責task的調(diào)度與執(zhí)行

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

Flink的概念及特點是什么

關(guān)于Flink的概念及特點是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI