久久亚洲国产精品视频,中国AV片,最近中文字幕免费大全,国产亚洲精品久久久999功能介绍,欧美色女人

金融情報局網(wǎng)_中國金融門戶網(wǎng)站 讓金融財經(jīng)離的更近

大數(shù)據(jù)Flink進階(三):Flink核心特性

當前位置:金融情報局網(wǎng)_中國金融門戶網(wǎng)站 讓金融財經(jīng)離的更近>資訊 > 獨家 > 正文  2023-03-18 21:58:33 來源:騰訊云

Flink核心特性

Flink具有先進的架構(gòu)理念,擁有諸多的優(yōu)秀特性以及完善的編程接口,F(xiàn)link的優(yōu)勢有以下幾點:

一、批流一體化

Flink可以在底層用同樣的數(shù)據(jù)抽象和計算模型來進行批處理和流處理。事實上,F(xiàn)link在設(shè)計理念上沒有刻意強調(diào)批處理和流處理,而更多的強調(diào)數(shù)據(jù)的有界和無界,這就意味著Flink能夠滿足企業(yè)業(yè)務(wù)需求,無需用兩種甚至多種框架分別實現(xiàn)批處理和流處理,這大大降低了架構(gòu)設(shè)計、開發(fā)、運維的復(fù)雜度,可以節(jié)省大量的人力成本。

二、同時支持高吞吐、低延遲、高性能

Flink是目前開源社區(qū)中唯一一套集高吞吐、低延遲、高性能三者于一身的分布式流式數(shù)據(jù)處理框架。像Apache Spark也只能兼顧高吞吐和高性能特性,主要因為在SparkStreaming流式計算中無


(資料圖)

法做到低延遲保障;而流式計算框架Apache Storm只能支持低延遲和高性能特性,但是無法滿足高吞吐的要求。而滿足高吞吐、低延遲、高性能這三個目標對分布式流式計算框架來說是非常重要的。

三、支持事件時間(Event Time)概念

在流式計算領(lǐng)域中,窗口計算的地位舉足輕重,但目前大多數(shù)框架窗口計算采用的都是系統(tǒng)時間(Process Time),也是事件傳輸?shù)接嬎憧蚣芴幚頃r,系統(tǒng)主機的當前時間。Flink能夠支持基于事件時間(Event Time)語義進行窗口計算,也就是使用事件產(chǎn)生的時間,這種基于事件驅(qū)動的機制使得事件即使亂序到達,流系統(tǒng)也能夠計算出精確的結(jié)果,保持了事件原本產(chǎn)生時的時序性,盡可能避免網(wǎng)絡(luò)傳輸或硬件系統(tǒng)的影響。

四、支持有狀態(tài)計算

Flink在1.4版本中實現(xiàn)了狀態(tài)管理,所謂狀態(tài)就是在流式計算過程中將算子的中間結(jié)果數(shù)據(jù)保存在內(nèi)存或者文件系統(tǒng)中,等下一個事件進入算子后可以從之前的狀態(tài)中獲取中間結(jié)果中計算當前的結(jié)果, 從而無須每次都基于全部的原始數(shù)據(jù)來統(tǒng)計結(jié)果,這種方式極大地提升了系統(tǒng)的性能,并降低了數(shù)據(jù)計算過程的資源消耗。對于數(shù)據(jù)量大且運算邏輯非常復(fù)雜的流式計算場景,有狀態(tài)計算發(fā)揮了非常重要的作用。

五、支持高度靈活的窗口(Window)操作

在流處理應(yīng)用中,數(shù)據(jù)是連續(xù)不斷的,需要通過窗口的方式對流數(shù)據(jù)進行一定范圍的聚合計算,例如統(tǒng)計在過去的1分鐘內(nèi)有多少用戶點擊某一網(wǎng)頁,在這種情況下,我們必須定義一個窗口,用來收集最近一分鐘內(nèi)的數(shù)據(jù),并對這個窗口內(nèi)的數(shù)據(jù)進行再計算。Flink將窗口劃分為基于Time、Count、Session,以及Data-driven等類型的窗口操作,窗口可以用靈活的觸發(fā)條件定制化來達到對復(fù)雜的流傳輸模式的支持,用戶可以定義不同的窗口觸發(fā)機制來滿足不同的需求。

六、基于輕量級分布式快照(Snapshot)實現(xiàn)的容錯

Flink能夠分布式運行在上千個節(jié)點上,將一個大型計算任務(wù)的流程拆解成小的計算過程,然后將task分布到并行節(jié)點上進行處理。在任務(wù)執(zhí)行過程中,能夠自動發(fā)現(xiàn)事件處理過程中的錯誤而導(dǎo)致數(shù)據(jù)不一致的問題,比如:節(jié)點宕機、網(wǎng)路傳輸問題,或是由于用戶因為升級或修復(fù)問題而導(dǎo)致計算服務(wù)重啟等。在這些情況下,通過基于分布式快照技術(shù)的Checkpoints,將執(zhí)行過程中的狀態(tài)信息進行持久化存儲,一旦任務(wù)出現(xiàn)異常停止,F(xiàn)link就能夠從Checkpoints中進行任務(wù)的自動恢復(fù),以確保數(shù)據(jù)在處理過程中的一致性(Exactly-Once)。

七、基于JVM實現(xiàn)獨立的內(nèi)存管理

內(nèi)存管理是所有計算框架需要重點考慮的部分,尤其對于計算量比較大的計算場景,數(shù)據(jù)在內(nèi)存中該如何進行管理顯得至關(guān)重要。針對內(nèi)存管理,F(xiàn)link實現(xiàn)了自身管理內(nèi)存的機制,盡可能減少JVM GC 對系統(tǒng)的影響。另外,F(xiàn)link通過序列化/反序列化方法將所有的數(shù)據(jù)對象轉(zhuǎn)換成二進制在內(nèi)存中存儲,降低數(shù)據(jù)存儲的大小的同時,能夠更加有效地對內(nèi)存空間進行利用,降低GC帶來的性能下降或任務(wù)異常的風險,因此Flink較其他分布式處理的框架會顯得更加穩(wěn)定,不會因為JVM GC等問題而影響整個應(yīng)用的運行。

八、Save Points (保存點)

對于7*24小時運行的流式應(yīng)用,數(shù)據(jù)源源不斷地接入,在一段時間內(nèi)應(yīng)用的終止有可能導(dǎo)致數(shù)據(jù)的丟失或者計算結(jié)果的不準確,例如進行集群版本的升級、停機運維操作等操作。值得一提的是, Flink通過Save Points技術(shù)將任務(wù)執(zhí)行的快照保存在存儲介質(zhì)上,當任務(wù)重啟的時候可以直接從事先保存的Save Points恢復(fù)原有的計算狀態(tài),使得任務(wù)繼續(xù)按照停機之前的狀態(tài)運行,Save Points技術(shù)可以讓用戶更好地管理和運維實時流式應(yīng)用。

九、多層級API

Flink為用戶提供了多個層級API,用戶可以根據(jù)自身對于表達力和易用性的需求來選擇,不同的API 層級可以混用以實現(xiàn)復(fù)雜的業(yè)務(wù)邏輯。

關(guān)鍵詞:

相關(guān)內(nèi)容