輕松入門大資料玩轉Flink打造湖倉一體架構
下栽ke呈:sisuoit.com/3630.html
Flink是什麼?
Flink是一個架構和分布式處理引擎,用于無限和有限資料保留的有狀态計算。Flink設計用于在所有常見的叢集環境中運作,以記憶體速度和任何規模執行計算。
處理無界和有界資料
任何類型的資料都作為事件流生成。信用卡交易、傳感器測量、機器日志或網站移動應用程式上的使用者互動,所有這些資料都以流的形式生成。
資料可以被視為無界或有界的流。
無界流有起點,但沒有定義終點。當資料生成時,它們不會終止并提供資料。無界流必須連續處理,即事件被攝取後必須及時處理。我們不能等待所有的輸入資料到達,因為輸入是無界的,在任何情況下都不會完成。在處理無界資料時,我們通常需要按照特定的順序(比如事件的順序)攝取事件,一次就可以推斷出結果的完整性。
有界流有定義的起點和終點。有界流可以通過在執行任何計算之前提取所有資料來處理。因為有界資料總是可以被排序,是以有界流可以在沒有有序攝取的情況下被處理。綁定的過程也稱為批處理。
Flink擅長處理無邊界和有邊界的資料集。對事件和狀态的精确控制使Flink的運作時能夠在無限的流上運作任何類型的應用程式。有界流由專門為固定大小的資料集設計的算法和資料結構在内部處理,進而産生出色的性能。
随身部署應用程式。
Flink是一個分布式系統,需要計算資源來執行應用程式。Flink內建了所有常見的集中式資料總管(如Hadoop YARN、Mesos和Kubernetes),但也可以設定為作為獨立的叢集運作。
Flink設計為與前面列出的每個資料總管相容。這是通過特定于資料總管的部署模式實作的,該模式允許Flink以慣用的方式與每個資料總管進行互動。
在部署Flink應用時,Flink會根據應用配置的并行性自動識别所需資源,并向資料總管請求。如果失敗,Flink将通過請求新的資源來替換失敗的容器。或者送出控制應用的所有通信通過REST呼叫進行。簡化Flink在許多環境中的內建。