大數據架構選型分析

選擇依據

1.業務需求與技術要求
用戶需要根據自己的業務需求來選擇架構,如果業務對于Hadoop、Spark、Strom等關鍵技術有強制性依賴,選擇Lambda架構可能較為合適;如果處理數據偏好于流式計算,又依賴Flink計算引擎,那么選擇Kappa架構可能更為合適。
2.復雜度
如果項目中需要頻繁地對算法模型參數進行修改,Lambda架構需要反復修改兩套代碼,則顯然不如Kappa架構簡單方便。同時,如果算法模型支持同時執行批處理和流式計算,或者希望用一份代碼進行數據處理,那么可以選擇Kappa架構。
在某些復雜的案例中,其實時處理和離線處理的結果不能統一,比如某些機器學習的預測模型,需要先通過離線批處理得到訓練模型,再交由實時流式處理進行驗證測試,那么這種情況下,批處理層和流處理層不能進行合并,因此應該選擇Lambda架構。
3.開發維護成本
Lambda架構需要有一定程度的開發維護成本,包括兩套系統的開發、部署、測試、維護,適合有足夠經濟、技術和人力資源的開發者。而Kappa架構只需要維護一套系統,適合不希望在開發維護上投入過多成本的開發者。
4.歷史數據處理能力
有些情況下,項目會頻繁接觸海量數據集進行分析,比如過往十年內的地區降水數據等,這種數據適合批處理系統進行分析,應該選擇Lambda架構。如果始終使用小規模數據集,流處理系統完全可以使用,則應該選擇Kappa架構。

Kappa架構

在這里插入圖片描述
實時智能決策大數據平臺基于Kappa架構,使用統一的數據處理引擎Flink可實時處理流數據,并將其存儲到Hive與Tair中,以供后續決策服務的使用。實時處理的過程如下:
一是數據采集,即B端系統會實時收集用戶的點擊,下單以及廣告的曝光和出價數據并輸出到Kafka緩存。
二是數據的清洗與聚合,即基于大數據計算集群Flink計算框架,實時讀取Kafka中的實時流數據,過濾出需要參與計算的字段,根據業務需求,聚合指定時間段的數據并轉換成指標。
三是數據存儲,即將Flink計算得到數據存儲到Hive日志庫中,需要參與模型計算的字段存儲到Tair分布式緩存中。當需要進行模型計算時,決策服務會從Tair中讀取數據,進行模型的計算,得到新的決策參數和模型。決策服務可以基于微服務架構,客戶端部署在業務方系統中,服務端主要用于計算決策參數和模型,當服務端計算得到新的參數,此時會通過分布式任務協調程序(如Zookeeper)通知部署到業務方系統的客戶端,客戶端此時會拉取新的參數并存儲到本地,并且客戶端提供了獲取參數的接口,業務方可以無感知調用。

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

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

相關文章

Trae 插件 Builder 模式:從 0 到 1 開發天氣查詢小程序,解鎖 AI 編程新體驗

在軟件開發領域,效率與創新始終是開發者追求的核心目標。Trae 插件(原 MarsCode 編程助手)Builder 模式的全面上線,無疑為開發者帶來了全新的解決方案。它不僅同時支持 VS Code、JetBrains IDEs 等主流開發環境,還能讓…

SSM項目集成redis、Linux服務器安裝redis

在SSM(Spring Spring MVC MyBatis)項目中引入Redis主要分為以下步驟,確保配置正確并能在業務中靈活使用: 1. 添加Redis依賴?? 在Maven的pom.xml中添加Spring Data Redis和Jedis(或Lettuce)依賴&#…

【Redis】壓縮列表

目錄 1、背景2、壓縮列表【1】底層結構【2】特性【3】優缺點 1、背景 ziplist(壓縮列表)是redis中一種特殊編碼的雙向鏈表數據結構,主要用于存儲小型列表和哈希表。它通過緊湊的內存布局和特殊的編碼方式來節省內存空間。 2、壓縮列表 【1…

LocalDateTime類型的時間在前端頁面不顯示或者修改數據時因為LocalDateTime導致無法修改,解決方案

1.數據庫中的時間數據,在控制臺可以正常返回,在前端無法返回,即顯示空白,如下圖所示: 2.這種問題一般時由于數據庫和我們實體類的名稱不一致引起的,我們數據庫一般采用_的方式命名,但是在Java中我們一般采用…

Spring框架核心技術深度解析:JDBC模板、模擬轉賬與事務管理

一、JDBC模板技術:簡化數據庫操作 在傳統JDBC開發中,繁瑣的資源管理和重復代碼一直是開發者的痛點。Spring框架提供的 JDBC模板(JdbcTemplate) 徹底改變了這一現狀,它通過封裝底層JDBC操作,讓開發者僅需關注SQL邏輯&a…

Modern C++(一)基本概念

1、基本概念 1.1、注釋 注釋在翻譯階段3會被替換為單個空白字符從程序中移除 1.2、名字與標識符 標識符是一個由數字、下劃線、大小寫字符組成的任意長度序列。有效的標識符首個字符必須是以A-Z、a-z、下劃線開頭,。有效的標識符其他字符可以是0-9、A-Z、a-z、下…

STM32的TIMx中Prescaler和ClockDivision的區別

Prescaler預分頻,以筆者目前的學習程度來說,這個參數,一般來說是對主時鐘進行分頻后的計數器時鐘。這個預分頻后的時鐘主要是用于的計數的。 這個主時鐘,對于時基單元來說可以是內部時鐘,也可以是外部時鐘。一般來說我…

前端性能指標及優化策略——從加載、渲染和交互階段分別解讀詳解并以Webpack+Vue項目為例進行解讀

按照加載階段、渲染階段和交互階段三個維度進行系統性闡述: 在現代 Web 開發中,性能不再是錦上添花,而是決定用戶體驗與業務成敗的關鍵因素。為了全面監控與優化網頁性能,我們可以將性能指標劃分為加載階段、渲染階段、和交互階段…

MySQL——1、數據庫基礎

數據庫基礎 1、安裝MySQL2、什么是數據庫3、數據庫使用案例4、MySQL架構與SQL分類5、存儲引擎 1、安裝MySQL 1、更新軟件包列表 sudo apt update2、查看MySQL安裝包 apt list | grep mysql-server3、安裝MySQL # 默認安裝最新版 sudo apt install -y mysql-server4、啟動My…

ET MailBoxComponent類(實體) 分析

MailBoxComponent 作用是,用來接收Actor消息,處理Actor消息。這個沒有存儲能,收到消息后立即就處理了。ParentInstanceId 是MailBox所在的實體InstanceIdMailBoxType MailBox類型MailBoxInvoker 分發消息的包裝Add 方法,看名字是…

Weblogic SSRF漏洞復現(CVE-2014-4210)【vulhub靶場】

漏洞概述: Weblogic中存在一個SSRF漏洞,利用該漏洞可以發送任意HTTP請求,進而攻擊內網中redis、fastcgi等脆弱組件。 漏洞形成原因: WebLogic Server 的 UDDI 組件(uddiexplorer.war)中的 SearchPublicR…

js應用opencv

思路&#xff1a; 第一步&#xff1a;直方圖 第二步&#xff1a;獲得直方圖的波峰 第三步&#xff1a;波峰勝負10&#xff0c;高于或低于變紅色 1.引用import cv from ‘techstark/opencv-js’; 2.vue代碼 <div class"historyLeft2"><div style"relat…

用Python代碼繪制動態3D愛心效果

引言 介紹Python在創意編程中的應用&#xff0c;特別是如何通過簡單的代碼實現視覺上的美感。引出本文將分享的愛心代碼&#xff0c;并簡要說明其實現原理。 愛心代碼的基本實現 展示一個簡單的Python代碼示例&#xff0c;使用字符畫的方式在控制臺中繪制一個愛心圖案。 pr…

使用Python開發經典俄羅斯方塊游戲

使用Python開發經典俄羅斯方塊游戲 在這篇教程中&#xff0c;我們將學習如何使用Python和Pygame庫開發一個經典的俄羅斯方塊游戲。這個項目將幫助你理解游戲開發的基本概念&#xff0c;包括圖形界面、用戶輸入處理、碰撞檢測等重要內容。 項目概述 我們將實現以下功能&…

兼顧長、短視頻任務的無人機具身理解!AirVista-II:面向動態場景語義理解的無人機具身智能體系統

作者&#xff1a;Fei Lin 1 ^{1} 1, Yonglin Tian 2 ^{2} 2, Tengchao Zhang 1 ^{1} 1, Jun Huang 1 ^{1} 1, Sangtian Guan 1 ^{1} 1, and Fei-Yue Wang 2 , 1 ^{2,1} 2,1單位&#xff1a; 1 ^{1} 1澳門科技大學創新工程學院工程科學系&#xff0c; 2 ^{2} 2中科院自動化研究所…

【藍橋杯省賽真題49】python偶數 第十五屆藍橋杯青少組Python編程省賽真題解析

python偶數 第十五屆藍橋杯青少組python比賽省賽真題詳細解析 博主推薦 所有考級比賽學習相關資料合集【推薦收藏】1、Python比賽 信息素養大賽Python編程挑戰賽 藍橋杯python選拔賽真題詳解

鴻蒙(HarmonyOS)應用開發入門教程

目錄 第一章:鴻蒙系統簡介 1.1 什么是鴻蒙系統? 1.2 鴻蒙系統架構 第二章:開發環境搭建 2.1 安裝DevEco Studio 步驟1:下載與安裝 步驟2:首次配置 步驟3:設備準備 2.2 創建第一個項目 第三章:鴻蒙應用開發基礎 3.1 核心概念:Ability與AbilitySlice 示例代碼…

VM中 ubuntu 網卡不顯示

1.添加網卡配置 #sudo nano /etc/netplan/01-netcfg.yaml network:version: 2renderer: networkdethernets:ens33:dhcp4: trueens37:dhcp4: trueens38:dhcp4: true#保存后 sudo netplan apply2.查看網絡狀態 sudo systemctl start systemd-networkd sudo systemctl status sy…

阿克曼-幻宇機器人系列教程3- 機器人交互實踐(Message)

上一篇文章介紹了如何通過topic操作命令實現與機器人的交互&#xff0c;本篇我們介紹如何通過Message&#xff08;即topic的下一級&#xff09;實現與機器人的交互。 和topic一樣&#xff0c;首先在一個終端通過ssh命令登錄機器人、啟動機器人&#xff0c;然后打開另外一個終端…

Python 調試擴展版本兼容問題解決紀實

在 Python 開發中&#xff0c;調試工具的正常使用對效率至關重要。近期在公司項目中&#xff0c;便遇到了 Python 調試擴展與版本不兼容的問題。公司 ERP 服務器采用 Ubuntu 18.04 系統&#xff0c;其標配 Python 版本為 3.6&#xff0c;而常用的 Python Debugger 擴展對版本有…