您好,登錄后才能下訂單哦!
Flink的概念及特點是什么,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
ApacheFlink是一個面向分布式數據流處理和批量數據處理的開源計算平臺,它能夠基于同一個Flink運行時,提供支持流處理和批處理兩種類型應用的功能。
現有的開源計算方案,會把流處理和批處理作為兩種不同的應用類型,因為它們所提供的SLA(Service-Level-Aggreement)是完全不相同的:流處理一般需要支持低延遲、Exactly-once保證,而批處理需要支持高吞吐、高效處理。
Flink從另一個視角看待流處理和批處理,將二者統一起來:Flink是完全支持流處理,也就是說作為流處理看待時輸入數據流是無界的;批處理被作為一種特殊的流處理,只是它的輸入數據流被定義為有界的。
Apache Flink是一個面向分布式數據流處理和批量數據處理的開源計算平臺,它能夠基于同一個Flink運行時,提供支持流處理和批處理兩種類型應用的功能。
現有的開源計算方案,會把流處理和批處理作為兩種不同的應用類型,因為它們所提供的SLA(Service-Level-Aggreement)是完全不相同的:流處理一般需要支持低延遲、Exactly-once保證,而批處理需要支持高吞吐、高效處理。
Flink從另一個視角看待流處理和批處理,將二者統一起來:Flink是完全支持流處理,也就是說作為流處理看待時輸入數據流是無界的;批處理被作為一種特殊的流處理,只是它的輸入數據流被定義為有界的。
Flink首先支持Local的執行環境,所有模塊組件都可以運行在同一個JVM進程中,主要是方便開發調試,使用者在開發Flink應用時可以在IDE環境中方便的本地運行或是設置斷點進行代碼調試。此外Flink支持Standalone模式進行分布式部署,Flink的JobManager和TaskManager可以部署在多臺節點上,組成一個集群,管理集群資源,執行分布式任務。同時Flink也可以委托YARN進行資源管理,Flink的Job通過YARN申請資源。最后,Flink也支持Google和Amazon的公有云平臺,Flink的Job可以直接提交到公有云上執行。用戶開發的同一個Flink業務邏輯,無需任何修改,可隨時遷移到不同的執行環境執行。
Client負責提交Flink作業,首先將用戶的Flink Job翻譯并優化成圖狀的Dataflow,并提交給JobManager,JobManager將Flink DataFlow切分成分布式task,并按照集群的資源配置調度task,將task分發到TaskManger執行。TaskManager可能有多個,執行具體的task,且負責task與task之間的數據傳輸。不同于MapReduce,Flink的TaskManger類似于Spark的Executor,task以線程而非進程的粒度在TaskManager中執行。在Standalone模式下,JobManger和TaskManager負責資源的管理,而在YARN模式下,JobManager相當于ApplicationMaster, 而TaskManger相當于Executor。只是負責task的調度與執行。
最底層級的抽象僅僅提供了有狀態流。實際上,大多數應用并不需要上述的底層抽象,而是針對 核心API(Core APIs) 進行編程,比如DataStream API(有界或無界流數據)以及DataSet API(有界數據集)Table API 是以 表 為中心的聲明式DSL,其中表可能會動態變化(在表達流數據時)。
Client負責提交Flink作業,首先將用戶的Flink Job翻譯并優化成圖狀的Dataflow,并提交給JobManager,JobManager將Flink DataFlow切分成分布式task,并按照集群的資源配置調度task,將task分發到TaskManger執行。TaskManager可能有多個,執行具體的task,且負責task與task之間的數據傳輸。不同于MapReduce,Flink的TaskManger類似于Spark的Executor,task以線程而非進程的粒度在TaskManager中執行。在Standalone模式下,JobManger和TaskManager負責資源的管理,而在YARN模式下,JobManager相當于ApplicationMaster, 而TaskManger相當于Executor。只是負責task的調度與執行
關于Flink的概念及特點是什么問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。