Flink筆記

下面是你提供的文字整理后的結果:

1. Flink是一個針對流數據和批數據的分布式處理引擎,同時支持原生流處理的開源框架。
? ?- 延遲低(毫秒級),且能夠保證消息傳輸不丟失不重復。
? ?- 具有非常高的吞吐(每秒千萬級)。
? ?- 支持原生流處理。
? ?- 容錯性高,基于checkpoint機制。
? ?- 處理模型:單條事件處理;Spark Streaming是一個事件窗口內的所有事件。
? ?- 部署相對簡單,只依賴JRE環境。
? ?- 應用場景:實時監控(用戶行為預警);實時報表(雙11直播大屏);實時個性化推薦;數據倉庫(實時數據清洗、歸并)。

2. 流計算與批計算對比:
? ?- 流式計算實時、低延遲,批量計算非實時、高延遲。
? ?- 流式計算一般針對動態、無邊界的數據,批量計算一般針對靜態數據。
? ?- 流式計算任務是持續運行的,批量計算任務一次性完成。

3. Flink的核心特性:
? ?- 事件時間:Flink應用程序需要從原始數據中解析出事件時間,并設置給Flink,用于時間窗口計算。
? ?- 靈活的窗口操作。
? ?- 可以處理超出主內存大小限制的數據,減少垃圾收集開銷。
? ?- 對象序列化二進制存儲。

4. Flink的部署:
? ?- Application:每個Application對應一個Runtime,一個Application中可以包含多個Job。
? ?- JobManager:每個集群至少有一個,負責管理整個集群的計算資源。
? ?- JobManager向ResourceManager申請slot資源。
? ?- TaskManager:每個集群有多個TaskManager,TaskManager通過心跳與JobManager通信,每個TaskManager可以有多個Task slot。
? ?- 單個Slot可以用于一個或多個Task執行,但相同的Task不能在一個Slot中運行。
? ?- Client:執行main方法解析JobGraph對象,并提交給JobManager。

5. Flink的API:
? ?- 開源實現的MapReduce模型,包含三個階段:Map、Shuffle、Reduce。
? ?- 水位線:用于處理實時數據中的亂序問題,保證在一個特定事件后必須觸發窗口進行計算。
? ?- 窗口的觸發時機是窗口截至時間<=當前的Watermark。
? ?- 其他特性包括:window Evictor(數據清除器),OutputTag(分流標簽),AsyncFunction(異步查詢補充數據)。

6. 狀態管理:
? ?- Flink中的KeyBy算子根據指定的Key將數據流分區。
? ?- 默認的checkpoint interval為500ms。
? ?- savepoint用于手動觸發保存狀態數據,用于發版等情況,與checkpoint保存的內容相同。

7. Table API:
? ?- 表的數據存儲在catalog中,臨時表存儲在內存中,永久表存儲在外部catalog中,比如Hive Catalog。

8. 其他概念和接口:
? ?- RichParallelSourceFunction:并發數據源。
? ?- CheckpointListener:通知checkpoint完成。
? ?- CheckpointedFunction:定義快照實現。
? ?- ResultTypeQueryable接口:通過輸入格式和功能明確告知API返回類型。
? ?- 數據源mq會進行數據分區,在多個Flink并發實例的情況下,并發消費以提高效率。

9. 關于消費者和生產者的速度和消息堆積的問題:
? ?- 消費者的平均速度一定是大于生產者的平均速度,否則會造成消息堆積,mq通過offset來控制消費偏移量,但是還會保存一段時間的歷史數據用來消息回溯和查詢,一般是7天,保存數據的時候starRocks可以通過排序鍵做冪等? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-算子本身不需要實現CheckpointedFunction的snapshotState方法就能實現State的保存,這是由Flink本身的機制實現的,snapshotState方法會在每次正常checkpoint的時候調用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-Flink本身支持starRocks,并且實現了snapshotState,功能是把緩存的待寫入數據庫的數據刷盤到starRocks,這樣會有問題,就是每次checkpoint的時候都會把數據強制刷盤到數據庫,這是一個同步處理,可能會造成寫庫很慢,消息堆積

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

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

相關文章

echarts-convert.js使用

echarts-convert.js demo 點擊下載 1、本地安裝phantom.js插件 點擊下載 2、更改文件路徑 &#xff08;D:\phantomjs-2.1.1-windows\bin&#xff09;改為本地項目文件路徑 3、打開cmd命令行&#xff0c;并格式化語言 運行以下命令 將命令行語言改為中文簡體 chcp 65001…

(二分查找) 11. 旋轉數組的最小數字 ——【Leetcode每日一題】

?劍指 Offer 11. 旋轉數組的最小數字 難度&#xff1a;簡單 把一個數組最開始的若干個元素搬到數組的末尾&#xff0c;我們稱之為數組的旋轉。 給你一個可能存在 重復 元素值的數組 numbers &#xff0c;它原來是一個升序排列的數組&#xff0c;并按上述情形進行了一次旋轉…

springboot整合kafka多數據源

整合kafka多數據源 項目背景依賴配置生產者消費者消息體 項目背景 在很多與第三方公司對接的時候&#xff0c;或者處在不同的網絡環境下&#xff0c;比如在互聯網和政務外網的分布部署服務的時候&#xff0c;我們需要對接多臺kafka來達到我們的業務需求&#xff0c;那么當kafk…

【Vue-Router】路由過渡動效

在 Vue Router 中&#xff0c;你可以通過過渡動效&#xff08;Transition Effects&#xff09;為路由切換添加平滑的過渡效果&#xff0c;從而提升用戶體驗。過渡動效可以使用 Vue 的 <transition> 組件和 CSS 過渡來實現。 基本使用&#xff1a; 對導航使用動畫&#…

HTML-文本標簽

歷史上&#xff0c;網頁的主要功能是文本展示。所以&#xff0c;HTML 提供了大量的文本處理標簽。 <div> <div>是一個通用標簽&#xff0c;表示一個區塊&#xff08;division&#xff09;。它沒有語義&#xff0c;如果網頁需要一個塊級元素容器&#xff0c;又沒有…

leetcode 494. 目標和

2023.8.14 一杯茶&#xff0c;一包煙&#xff0c;一道dp做一天... ps&#xff1a;nums[i]均大于等于0。本題先轉化為0-1背包問題&#xff1a;將數組元素分成兩堆&#xff1a;一堆為正號&#xff0c;另一堆為負號。設正號堆的和為x&#xff0c;則負號堆的和為sum-x。&#xff08…

CentOS系統環境搭建(十)——CentOS7定時任務

centos系統環境搭建專欄&#x1f517;點擊跳轉 使用CentOS系統環境搭建&#xff08;九&#xff09;——centos系統下使用docker部署項目的項目做定時任務。 CentOS7定時任務 查看現有的定時任務 crontab -l編輯定時任務 crontab -e示例 每天凌晨兩點運行腳本 清理內存 0 2 *…

【Linux的開胃小菜】常用的RPM軟件包與YUM倉庫包管理器使用

一、系統初始化進程 systemd與System V init的區別以及作用&#xff1a; System V init運行級別systemd目標名稱systemd目標作用0poweroff.target關機1rescue.target單用戶模式2multi-user.target多用戶的文本界面3multi-user.target多用戶的文本界面4multi-user.target多用戶…

【SpringBoot】88、SpringBoot中使用Undertow替代Tomcat容器

SpringBoot 中我們既可以使用 Tomcat 作為 Http 服務,也可以用 Undertow 來代替。Undertow 在高并發業務場景中,性能優于 Tomcat。所以,如果我們的系統是高并發請求,不妨使用一下 Undertow,你會發現你的系統性能會得到很大的提升。 1、Tomcat 介紹 Tomcat是一個開源的Ja…

【數據結構】“單鏈表”的練習題(二)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;個人主頁 &#xff1a;阿然成長日記 …

Django框架 靚號管理(增刪改查)

Django框架 靚號管理&#xff08;增刪改查&#xff09; 新建一個項目 backend 使用pycharm創建app startapp app項目目錄 C:\code\backend ├── app | ├── admin.py | ├── apps.py | ├── migrations | ├── models.py | ├── tests.py | ├── views.…

關于微信臨時文件wxfile://tmp文件如何處理,微信小程序最新獲取頭像和昵稱

分享-2023年資深前端進階&#xff1a;前端登頂之巔-最全面的前端知識點梳理總結&#xff0c;前端之巔 *分享一個使用比較久的&#x1fa9c; 技術棧&#xff1a;taro框架 vue3版本 解決在微信小程序獲取微信頭像時控制臺報錯&#xff1a;找不著wxfile://tmp 文件路徑,失敗&…

java spring cloud 企業電子招標采購系統源碼:營造全面規范安全的電子招投標環境,促進招投標市場健康可持續發展 tbms

? 項目說明 隨著公司的快速發展&#xff0c;企業人員和經營規模不斷壯大&#xff0c;公司對內部招采管理的提升提出了更高的要求。在企業里建立一個公平、公開、公正的采購環境&#xff0c;最大限度控制采購成本至關重要。符合國家電子招投標法律法規及相關規范&#xff0c;以…

支持M1 Syncovery for mac 文件備份同步工具

Syncovery for Mac 是一款功能強大、易于使用的文件備份和同步軟件&#xff0c;適用于需要備份和同步數據的個人用戶和企業用戶。Syncovery 提供了一個直觀的用戶界面&#xff0c;使用戶可以輕松設置備份和同步任務。用戶可以選擇備份的文件類型、備份目錄、備份頻率等&#xf…

解讀2023年上半年財報:營收凈利雙增長,珀萊雅離高端還有多遠?

夏季炎熱&#xff0c;防曬類產品的銷量暴漲。根據千牛數據&#xff0c;防曬衣今年5月全網搜索人數同比增長15%&#xff0c;加購人數同比增長29.8%&#xff0c;訪問人數同比增加42%。消費者狂熱的防曬需求&#xff0c;孕育著巨大的商機&#xff0c;許多企業開始瞄準這一機會。而…

在Windows和MacOS環境下實現批量doc轉docx,xls轉xlsx

一、引言 Python中批量進行辦公文檔轉化是常見的操作&#xff0c;在windows狀態下我們可以利用changeOffice這個模塊很快進行批量操作。 二、在Windows環境下的解決文案 Windows環境下&#xff0c;如何把doc轉化為docx&#xff0c;xls轉化為xlsx&#xff1f; 首先&#xff…

mysql三大日志—— 二進制日志binlog

binlog用于記錄數據庫執行的寫入性操作&#xff0c;由服務層進行記錄&#xff0c;通過追加的方式以二進制的形式保存在磁盤中。 binlog主要用于主從復制和數據恢復。 主從復制&#xff1a;在主機端開啟binlog&#xff0c;然后將binlog發送到各個從機&#xff0c;從機存放binl…

sykwalking8.2和mysql5.7快速部署

1.SkyWalking 是什么&#xff1f; 分布式系統的應用程序性能監視工具&#xff0c;專為微服務、云原生架構和基于容器&#xff08;Docker、K8s、Mesos&#xff09;架構而設計。 提供分布式追蹤、服務網格遙測分析、度量聚合和可視化一體化解決方案。 2.SkyWalking 有哪些功能…

Spring Task入門案例

Spring Task 是Spring框架提供的任務調度工具&#xff0c;可以按照約定的時間自動執行某個代碼邏輯。 定位&#xff1a;定時任務框架 作用&#xff1a;定時自動執行某段Java代碼 強調&#xff1a;只要是需要定時處理的場景都可以使用Spring Task 1. cron表達式 cron表達式…

Java多線程線程間的通信—wait及notify方法

線程間的相互作用 線程間的相互作用:線程之間需要一些協調通信,來共同完成一件任務。 Object類中相關的方法有兩個notify方法和三個wait方法: Object (Java Platform SE 7 ) 因為wait和notify方法定義在Object類中,因此會被所有的類所繼承。 這些方法都是final的,即它們…