大數據輕量化流批一體架構探索實踐(一)

最近學習了解到一種輕量化,維護門檻較低的流批一體化的架構方式,雖然目前還是不太成熟,自己也在探索學習中。
dolphinscheduler+dinky+starrocks+flink+zookeper
后面我會逐步發一下這個整體架構的特點,以及各個組件作用,和目前存在的問題,dinky目前剛開源很多功能目前還不夠成熟。我會在進行批處理腳本開發和流處理腳本開發中,starrocks sql和flinksql在方言上存在差異,架構可行性,代碼維護問題兼容性問題等逐一討論

DolphinScheduler+Dinky+StarRocks+Flink+Zookeeper流批一體架構解析

一、流批一體架構核心特點
  1. 統一計算引擎與開發范式

    • 以Flink為核心,實現流處理(Stream Processing)與批處理(Batch Processing)的統一編程模型,避免流批分離帶來的技術棧割裂。
    • 批處理可視為流處理的特殊情況(有限數據流),支持同一套API(如DataStream/DataSet)開發,降低學習成本與維護復雜度。而且是完全開源免費的,部署操作較為簡單,后期維護成本大大降低
  2. 分層調度與任務協同

    • DolphinScheduler負責離線批任務的調度與依賴管理,Flink處理實時流計算,兩者通過dinky進行集成統一管理發布上線。
    • 支持定時觸發(批處理)與事件觸發(流處理)的雙模式調度,滿足T+1報表與實時監控的混合需求。
  3. 高性能存儲與查詢閉環

    • StarRocks作為分析型數據庫,同時支持流計算結果的實時寫入與批處理數據的高效查詢,形成“計算-存儲-查詢”閉環。
    • 利用StarRocks的MPP架構與向量化計算,實現亞秒級實時查詢與大規模歷史數據聚合分析。
  4. 低代碼開發與運維提效

    • Dinky提供Flink作業的可視化開發、調試與運維平臺,支持SQL/Java/Python代碼生成,降低Flink開發門檻。
    • 集成監控告警與資源管理功能,實現流批任務的統一運維。
  5. 分布式系統穩定性保障

    • Zookeeper為Flink、StarRocks等組件提供分布式協調服務,確保集群節點選舉、配置一致性與故障恢復。
    • 架構支持彈性擴縮容,應對流量波動與數據量增長。
二、各組件核心作用詳解
組件定位核心功能與在架構中的角色
Flink流批一體計算引擎
  • 支持流處理(毫秒級延遲)與批處理(大規模數據集并行計算)
  • 提供Stateful計算能力,支持復雜事件處理(CEP)與窗口聚合
  • 通過Flink CDC等組件對接多源數據,輸出至StarRocks
  • 與Dinky集成,簡化作業開發與部署
DolphinScheduler分布式任務調度系統
  • 編排批處理工作流(如ETL任務、離線報表生成)
  • 管理任務依賴、優先級與重試策略
  • 通過API調用Flink作業,實現流批任務聯動(如定時觸發流計算任務)
  • 提供可視化調度監控與日志管理
StarRocks實時分析型數據庫(MPP數據庫)
  • 接收Flink實時計算結果,支持高并發寫入與更新
  • 提供標準SQL接口,支持亞秒級OLAP查詢(如多維分析、實時報表)
  • 通過分區與分桶技術優化海量數據查詢性能
  • 與Dinky集成,支持數據可視化與查詢結果導出
DinkyFlink可視化開發與運維平臺
  • 提供Flink作業的低代碼開發界面(拖拽式組件編排、SQL轉代碼)
  • 支持作業參數配置、資源申請與版本管理
  • 集成Flink Web UI功能,監控作業指標(如吞吐量、延遲)
  • 支持流批作業的統一部署與故障診斷
Zookeeper分布式協調服務中間件
  • 為Flink集群提供Leader選舉與節點狀態管理
  • 存儲StarRocks元數據一致性信息
  • 保障DolphinScheduler分布式任務調度的狀態同步
  • 解決分布式系統中的數據一致性問題(如分布式鎖)
三、架構協同流程示例
  1. 數據接入與處理

    • 實時數據(如Kafka消息)通過Flink流計算處理,清洗后寫入StarRocks;
    • 離線數據(如Hive表)通過DolphinScheduler調度Flink批作業處理,結果同步至StarRocks。
  2. 任務調度與協同

    • 周期性批任務(如每日報表)由DolphinScheduler定時觸發,調用Flink批作業處理歷史數據;
    • 實時監控任務由Flink持續運行,Dinky負責作業參數動態調整(如并行度)。
  3. 查詢與可視化

    • 業務系統通過StarRocks SQL接口查詢流批數據融合結果;
    • Dinky或第三方BI工具(如Superset)對接StarRocks,生成實時儀表盤與離線報表。

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

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

相關文章

【2025/07/04】GitHub 今日熱門項目

GitHub 今日熱門項目 🚀 每日精選優質開源項目 | 發現優質開源項目,跟上技術發展趨勢 📋 報告概覽 📊 統計項📈 數值📝 說明📅 報告日期2025-07-04 (周五)GitHub Trending 每日快照&#x1f55…

HarmonyOS學習記錄3

HarmonyOS學習記錄3 本文為個人學習記錄,僅供參考,如有錯誤請指出。本文主要記錄ArkTS基礎語法,僅記錄了部分我覺得與其他語言不太類似的地方,具體規范請參考官方文檔。 參考官方文檔:https://developer.huawei.com/co…

HKS201-M24 大師版 8K60Hz USB 3.0 適用于 2 臺 PC 1臺顯示器 無縫切換 KVM 切換器

HKS201-M24 8K60Hz HDMI 2.1 2x1 KVM 切換器,適用于 2 臺 PC,帶 EDID 仿真、千兆 LAN、雙充電和 USB 3.2 Gen 1 HKS201-M24 產品概述 TESmart 重新定義智能工作空間,無縫雙PC控制。 真正的 8K60Hz 亮度,具有 EDID 穩定性和超快速…

stm32f103vct6的DAC口的輸出電壓達不到3.3V

問題:調試時發現自己設置的DAC在最大時達不到3.3V,總結了原因,記錄下。 原因:使用時,注意有沒有其他負載,有的話最好給負載獨立供電,不要只用STM32f103的板湊活著供電,我的就是這個…

java8 Collectors.mapping 使用 例子 學習

java8 Collectors.mapping 使用 例子 學習 Map<String, List<String>> colorApple appleList.stream().collect(Collectors.groupingBy(Apple::getColor, Collectors.mapping(Apple::getVariety, toList()))); colorApple.forEach((k, v) -> {System.out.prin…

動態規劃-P1216 [IOI 1994] 數字三角形 Number Triangles

P1216 [IOI 1994] 數字三角形 Number Triangles 題目來源-洛谷題庫 思路 如果用貪心只是找當前的到達該點的路徑最大值&#xff0c;可能結果無法做到最優最值問題試著看能否將大問題分解成若干個小問題 走到a[i] [j ]這個點的最值來源于上一步a[i-1 ] [j]和a[i-1] [j-1]的最…

25年Java后端社招技術場景題!

一、電商領域高頻場景題1. 百萬級QPS秒殺系統設計場景需求&#xff1a;設計一個支持百萬級QPS的秒殺系統&#xff0c;要求解決超賣問題&#xff0c;保證系統高可用。技術方案&#xff1a;分層削峰&#xff1a;前端頁面靜態化按鈕防重復點擊Redis集群&#xff1a;采用Lua腳本實現…

牛客:HJ16 購物單【01背包】【華為機考】

學習要點 深入理解回溯深入理解01背包問題 題目鏈接 購物單_牛客題霸_牛客網 題目描述 解法1&#xff1a;回溯 其實此題非常符合取子集的邏輯&#xff0c;但是時間復雜度太高。通過11/14。想寫出來這個回溯過程&#xff0c;不容易。 #include <iostream> #include &l…

[學習記錄]Unity毛發渲染[URP]-Fin基礎版

鰭片法是一種在多邊形表面垂直添加許多多邊形&#xff0c;并在其上粘貼毛發紋理以營造毛茸茸的感覺的技術。這就像種植許多鰭&#xff08;就像魚身上的鰭一樣&#xff09;。本期我將在Unity6中實現一下基礎的Fin毛發&#xff0c;并不涉及光照著色。后面我會出一篇加上著色效果的…

指針篇(7)- 指針運算筆試題(阿里巴巴)

目錄 一、指針運算筆試題解析3.1 題目1&#xff1a;3.2 題目2&#xff1a;3.3 指針3&#xff1a;3.4 題目4&#xff1a;3.5 題目5&#xff1a;3.6 題目6&#xff1a;3.7 題目7&#xff1a; 總結 一、指針運算筆試題解析 3.1 題目1&#xff1a; #include<stdio.h> int m…

homebrew的一些常用方法

前言 因本人工作換到mac電腦&#xff0c;對包管理器homebrew的需求增加&#xff0c;因此將一些常用命令做如下記錄&#xff0c;本博客主要用作記錄用。 官網 macOS&#xff08;或 Linux&#xff09;缺失的軟件包的管理器 — Homebrew 常用命令 如果腳本因網絡問題無法下載…

【Python面試題】Python面試之基礎知識常見面試題3-匯總篇(精選30個)

目錄專欄導讀前言1. 字典的內存管理機制是什么&#xff1f;2. 列表的內存管理機制是什么&#xff1f;3. 元組和列表的區別4. 字符串插值的方法5. 閉包、裝飾器的原理閉包&#xff08;Closure&#xff09;裝飾器&#xff08;Decorator&#xff09;6. map、filter的區別7. range(…

【免費.NET方案】CSV到PDF與DataTable的快速轉換

CSV作為輕量級數據載體&#xff0c;在數據傳輸中占比超過70%。但其原生格式存在三大痛點&#xff1a; 可視化缺陷&#xff1a;無法直接生成可打印的報表結構限制&#xff1a;缺乏數據類型定義和關系約束安全風險&#xff1a;易被意外修改導致數據失真 因此&#xff0c;我們常…

connect的斷線重連

connect的短線重連 客戶端代碼的編寫服務器代碼的編寫總結 客戶端代碼的編寫 #include <iostream> #include <string> #include <cstring> #include <cstdlib> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h>…

通過觀看數百個外科手術視頻講座來學習多模態表征|文獻速遞-最新論文分享

Title題目Learning multi-modal representations by watching hundreds of surgical video lectures通過觀看數百個外科手術視頻講座來學習多模態表征01文獻速遞介紹外科計算機視覺領域的最新進展&#xff0c;已開始為手術室&#xff08;OR&#xff09;的新一代人工智能輔助支…

微信小程序如何實現再多個頁面共享數據

在微信小程序中&#xff0c;實現多個頁面共享數據有以下幾種常用方式&#xff0c;根據場景選擇最適合的方案&#xff1a; 全局變量&#xff08;App.js&#xff09; 適用場景&#xff1a;簡單數據共享&#xff08;非響應式&#xff09; 實現方式&#xff1a; javascript // ap…

PCIE5.0 TAG說明(ima回答)

在PCIe 5.0規范中&#xff0c;TLP&#xff08;Transaction Layer Packet&#xff09;報文的Tag字段用于標識和管理事務。以下是關于Tag的生成和使用規則和定義的詳細描述&#xff1a; Tag字段的定義 Tag字段&#xff1a;位于TLP報文的Header中&#xff0c;占用8位&#xff08…

Type-C PD快充協議智能芯片S312L詳解

1. 芯片概述 S312L 是一款智能Type-C PD協議觸發芯片&#xff0c;支持**PD3.0&#xff08;含PPS&#xff09;**及多種A口快充協議&#xff08;如QC/PE等&#xff09;&#xff0c;可自動識別并申請5V/9V/12V電壓&#xff0c;適用于快充適配器、移動電源等場景。 核心優勢&…

stm32學到什么程度可以找工作?

我重新為你寫一篇更加詳細深入的回答&#xff1a; STM32學到什么程度可以找工作&#xff1f;一個十年老兵的血淚史 寫在前面的話&#xff1a;這些年踩過的坑&#xff0c;都是血淋淋的教訓 剛看到這個問題&#xff0c;我就想起了2014年那個炎熱的夏天。 當時我剛從廈門某馬離…

基于 Elasticsearch 實現地圖點聚合

在地圖類應用中&#xff0c;當需要展示大量地理興趣點時&#xff0c;直接將所有點渲染在地圖上會導致視覺混亂&#xff0c;影響用戶體驗。為此&#xff0c;我基于 Elasticsearch 提供的 geotile_grid 和 geo_bounding_box 查詢能力&#xff0c;實現了一套高效的 POI 聚合展示方…