Flink-簡介與基礎

Flink-簡介與基礎

  • 一、Flink起源
  • 二、Flink數據處理模式
    • 1.批處理
    • 2.流處理
    • 3.Flink流批一體處理
  • 三、Flink架構
    • 1.Flink集群
    • 2.Flink Program
    • 3.JobManager
    • 4.TaskManager
  • 四、Flink應用程序
  • 五、Flink高級特性
    • 1.時間流(Time)和窗口(Window)
    • 2.狀態流(State)
    • 3.快照(Checkpoint)
  • 總結
    • 參考文檔

一、Flink起源

大數據計算引擎由批處理項流處理發展,由處理單一類型數據到批流一體方法發展。由單一功能逐步發展成更通用、更高效、更易用的一站式(混合架構)的計算引擎。計算引擎發展過程中典型架構:

  • MapReduce:批處理引擎,hadoop中核心組件,開創大數據處理核心思想,即map、reduce。
  • Storm:流處理引擎,為了滿足更高時效性而產生
  • Spark:支持流式處理和批處理的統一計算引擎,基于內存計算、提高性能
  • Flink:支持流式處理和批處理的統一計算引擎,支持狀態流、時間流等流處理

Flink誕生于柏林工業大學的一個大數據研究項目StratoSphere,2014年被捐獻給Apache,成為Apache的頂級大數據項目。Flink將計算的主要方向定位為流處理,將批處理作為流處理的一個特殊情況。并提供了一些如數據狀態、事件時間、分布式快照、watermark等高級功能。

二、Flink數據處理模式

在大數據領域早期基本都是批處理,后期隨著大數據處理應用范圍的拓展,逐步發到到流處理。
在這里插入圖片描述

1.批處理

批處理就是對整個有界數據集進行排序、統計或者匯總計算后輸出結果。批處理的數據主要有以下特點:

  • 有界:批處理數據集代表數據的有限集合
  • 持久:數據通常存儲在可重復獲取的持久存儲設備中
  • 就緒:數據在計算之前已經就緒,不會發生變化
  • 大量:批處理操作通常是處理海量數據集的唯一方法

2.流處理

流處理是無界數據流,更符合實際情況,例如交易數據、傳感器數據等都是不斷產生而不會結束。流處理是產生一條數據就會處理一條數據,流處理系統需要對進入系統的數據進行實時計算。而且流數據不一定是持久化的,可能是業務系統實時產生的。

3.Flink流批一體處理

Flink即可以進行流處理,也支持對有界數據進行批處理。也就是Flink可以處理消息隊列或者日志這類流式數據源的實時數據,也支持從各種數據源消費有界的歷史數據。
在這里插入圖片描述

三、Flink架構

Flink是一個分布式系統,采用master/slave架構,可以有效的分配和管理計算資源。集成了常見的集群資源管理器、也可以作為單獨集群運行。

1.Flink集群

Flink運行時主要由一個JobManager和多個TaskManager組成。
在這里插入圖片描述

2.Flink Program

Flink應用程序不是運行時程序執行的一部分,主要是將用戶的Flink作業提交到JobManager,并觸發執行Flink程序。

3.JobManager

JobManger主要職責是協調Flink應用程序的分布式執行,主要是調度task、監控task執行情況、協調checkpoint、故障恢復等。

4.TaskManager

TaskManager主要是執行作業流中的task,并且緩存和交換數據流。

四、Flink應用程序

Flink應用程序編寫主要是指用戶對數據需要進行的操作,Flink將對數據的處理分為輸入、處理、輸出三個步驟。其中Source負責管理數據源輸入、Transformation負責數據計算、Sink負責將結果輸出。Transformation是根據需求由Flink提供的算子組合而成的一個處理流程。
Flink首先會將應用構建成一個Dataflow graph。當調用env.execute()時,graph會被打包并發送到JobManager上,JobManager會協調并執行應用。
在這里插入圖片描述

五、Flink高級特性

1.時間流(Time)和窗口(Window)

實際應用中有時需要對歷史數據進行重新處理和分析。如果時間流只能依靠機器時鐘,一些基于時間的統計與運算得出的結果可能會有錯誤和偏差,因為為了滿足以上場景,Flink支持用數據流中的事件時間作為時間依據,而不是處理數據時的機器時間。

2.狀態流(State)

流處理過程中,很多操作如何處理都需要依據之前所有數據的累積結果、一些窗口函數也需要緩存之前的數據。Flink中的算子都可以是由狀態的,這些狀態都是本地訪問,這樣可以提高吞吐量和減低延遲。
在這里插入圖片描述

3.快照(Checkpoint)

大數據運行過程中無法避免故障的出現,因此需要一定的故障恢復機制。Flink通過定期狀態快照和流重放來實現故障恢復和精確的一次計算。

總結

主要介紹了Flink背景和以流處理為主的設計理念,Flink的運行時架構、Flink作業的編程以及Flink的高級特性。

參考文檔

1.Flink基礎概念
2.Flink產生的背景以及簡介
3.Flink架構

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/167086.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/167086.shtml
英文地址,請注明出處:http://en.pswp.cn/news/167086.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

穿山甲SDK接入收益·android廣告接入·app變現·廣告千展收益·eCPM收益(2023.11)

接入穿山甲SDK的app 全屏文字滾動APP 數獨訓練APP 廣告接入示例: Android 個人開發者如何接入廣告SDK,實現app流量變現 接入穿山甲SDK app示例: android 數獨小游戲 經典數獨休閑益智 2023.11.11 ~ 2023.11.22 app接入上架有一段時間了,接…

移動應用程序管理的內容、原因和方式

移動應用程序管理(MAM)是一個術語,指的是管理應用程序的整個生命周期,包括從設備安裝、更新和卸載應用程序,除了在整個生命周期內管理設備外,MAM 還包括保護應用訪問的數據,以及在設備上發現惡意…

Oracle 數據庫基線安全加固操作

目錄 賬號管理、認證授權 ELK-Oracle-01-01-01 ELK-Oracle-01-01-02 ???????ELK-Oracle-01-01-03 ???????ELK-Oracle-01-01-04 ???????ELK-Oracle-01-01-05 ???????ELK-Oracle-01-01-06 ??????? ELK-Oracle-01-01-07 ??????? …

Lambda 重構面向對象的設計模式

Lambda 重構面向對象的設計模式 策略模式 策略模式包含三部分內容 一個代表某個算法的接口(它是策略模式的接口)。 一個或多個該接口的具體實現,它們代表了算法的多種實現(比如,實體類ConcreteStrategyA或者Concrete…

java集成poi框架

介紹 : Apache POI是Apache軟件基金會的開放源碼函式庫&#xff0c;POI提供API給Java程序對Microsoft Office格式檔案讀和寫的功能。 下面簡單介紹一下如何使用該框架&#xff1a; 一&#xff1a;導入依賴 <!-- excel解析依賴--><dependency><groupId&…

17 redis集群方案

1、RedisCluster分布式集群解決方案 為了解決單機內存&#xff0c;并發等瓶頸&#xff0c;可使用此方案解決問題. Redis-cluster是一種服務器Sharding技術&#xff0c;Redis3.0以后版本正式提供支持。 這里的集群是指多主多從&#xff0c;不是一主多從。 2、redis集群的目標…

pair和typedef

文章目錄 一、pair用法1.2、pair的創建和初始化1.3、pair對象的操作1.4、(make_pair)生成新的pair對象1.5、通過tie獲取pair元素值 2、typedef2.1、什么是typedef2.2、typedef用法2.2.1、對于數據類型使用例如&#xff1a;2.2.2、對于指針的使用例如2.2.3、對于結構體的使用 2.…

java springboot測試類虛擬MVC環境 匹配返回值與預期內容是否相同 (JSON數據格式) 版

上文java springboot測試類鑒定虛擬MVC請求 返回內容與預期值是否相同我們講了測試類中 虛擬MVC發送請求 匹配返回內容是否與預期值相同 但是 讓我意外的是 既然沒人罵我 因為我們實際開發 返回的基本都是json數據 字符串的接口場景是少數的 我們在java文件目錄下創建一個 dom…

2023年10月紙巾市場分析(京東天貓淘寶平臺紙巾品類數據采集)

雙十一大促期間&#xff0c;剛需品的紙巾是必囤商品之一。今年雙十一&#xff0c;京東數據顯示&#xff0c;10月23日至29日&#xff0c;清潔紙品成交額同比增長40%&#xff0c;由此也拉動了10月紙巾市場的銷售。 鯨參謀數據顯示&#xff0c;今年10月&#xff0c;京東平臺紙巾市…

【日常總結】如何禁止瀏覽器 http自動跳轉成https

一、場景 二、問題 三、解決方案 3.1 chrome 瀏覽器 3.2 edge 瀏覽器&#xff1a; 3.3 Safari 瀏覽器 3.4 Firefox 瀏覽器 3.5 Microsoft Edge 一、場景 公司網站 http:// 谷歌瀏覽器中自動轉換成 https:// 導致無法訪問 二、問題 nginx配置ssl 443接口&#xff0c; ht…

SOLIDWORKS 2024新功能之Electrical篇

SOLIDWORKS 2024 Electrical篇目錄概覽 ? 對齊零部件 ? 更改多個導軌和線槽的長度 ? 過濾輔助和附件零件 ? 2D 機柜中的自動零件序號 ? 移除制造商零件數據 ? 重置未定義的宏變量 ? 使用范圍縮短列表 ? SOLIDWORKS Electrical Schematic 增強功能 1、對齊零部件…

ONNX實踐系列-修改yolov5-seg的proto分支輸出shape

一、目標 本文主要介紹要將原始yolov5分割的輸出掩膜從[b,c,h,.w]修改為[b, h, w, c] 原來的: 目標的: 代碼如下: Descripttion: version: @Company: WT-XM Author: yang jinyi Date: 2023-09-08 11:26:28 LastEditors: yang jinyi LastEditTime: 2023-09-08 11:48:01 …

Threejs_14 制作圣誕賀卡

繼續跟著老陳打碼學習&#xff01;&#xff01;&#xff01;支持&#xff01;&#xff01;&#xff01; 效果圖 鏈接&#xff1a;https://pan.baidu.com/s/1Ft8U2HTeqmpyAeesL31iUg 提取碼&#xff1a;6666 使用到的 模型文件和資源等都為老陳打碼提供&#xff01;&#x…

【騰訊云云上實驗室】探索保護數據之盾背后的安全監控機制

當今數字化時代&#xff0c;數據安全成為了企業和個人最為關注的重要議題之一。隨著數據規模的不斷增長和數據應用的廣泛普及&#xff0c;如何保護數據的安全性和隱私性成為了迫切的需求。 今天&#xff0c;我將帶領大家一起探索騰訊云云上實驗室所推出的向量數據庫&#xff0c…

新版PY系列離線燒錄器,支持PY002A/002B/003/030/071等MCU各封裝,不同 FLASH 大小型號

PY系列離線燒錄器&#xff0c;目前支持PY32F002A/002B/002/003/030/071/072/040/403/303 各封裝、不同 FLASH 大小型號。PY離線燒錄器需要搭配上位機軟件使用&#xff0c;上位機軟件可以在芯嶺技術官網上下載&#xff0c;還包括了離線燒錄器的使用說明。PY離線燒錄器使用MINI U…

金融機構如何高效率考勤?這個技巧幫了大忙!

在現代社會&#xff0c;隨著科技的不斷發展&#xff0c;人臉識別技術作為一種高效、便捷的身份驗證手段&#xff0c;逐漸應用于各個領域&#xff0c;其中之一便是人臉考勤系統。 傳統的考勤方式存在一系列問題&#xff0c;如卡片打卡容易被冒用、簽到表容易造假等&#xff0c;而…

CTFUB-web前置技能-HTTP協議

burp抓包,抓第二次的 修改請求方式為CTFHUB

算法筆記:OPTICS 聚類

1 基本介紹 OPTICS(Ordering points to identify the clustering structure)是一基于密度的聚類算法 OPTICS算法是DBSCAN的改進版本 在DBCSAN算法中需要輸入兩個參數&#xff1a; ? 和 MinPts &#xff0c;選擇不同的參數會導致最終聚類的結果千差萬別&#xff0c;因此DBCSAN…

線上PDF文件展示

場景&#xff1a; 請求到的PDF&#xff08;url鏈接&#xff09;&#xff0c;將其展示在頁面上 插件&#xff1a; pdfobject &#xff08;我使用的版本&#xff1a; "pdfobject": "^2.2.12" &#xff09; 下載插件就不多說了&#xff0c;下面將其引入&a…

【Clang Static Analyzer 代碼靜態檢測工具詳細使用教程】

Clang Static Analyzer sudo apt-get install clang-tools scan-build cmake .. scan-build make -j4 編譯完成之后會在終端提示在哪里查看報錯文檔: scan-build: 55 bugs found. scan-build: Run scan-view /tmp/scan-build-2023-11-24-150637-6472-1 to examine bug report…