為什么hive在處理數據時,有的累加是半累加數據

在 Hive 處理數據時,“半累加數據” 指的是部分字段保留歷史狀態、部分字段隨業務變化累加或更新的場景,這種模式廣泛存在于需要兼顧 “歷史追溯” 和 “增量更新” 的業務中。以下是具體例子,幫助理解其本質:

例子 1:用戶行為維度表(SCD2 模型)

業務場景:用戶信息表中,部分屬性(如注冊時間)一旦生成就固定不變,部分屬性(如用戶等級、積分)需要隨行為累加或更新,同時需要保留歷史狀態。

數據變化過程

  1. 初始數據(2023-01-01):

    用戶 ID注冊時間等級積分生效時間失效時間
    10012023-01-01Lv102023-01-019999-12-31
  2. 2023-02-01 用戶積分增加到 100,等級升級為 Lv2:
    不修改原記錄,而是新增一條記錄(保留歷史版本):

    用戶 ID注冊時間等級積分生效時間失效時間
    10012023-01-01Lv102023-01-012023-01-31(歷史版本)
    10012023-01-01Lv21002023-02-019999-12-31(當前版本)

半累加特征

  • 靜態字段(注冊時間):永遠不變,不參與累加。
  • 動態字段(等級、積分):隨業務更新,新記錄覆蓋舊狀態,但通過 “生效 / 失效時間” 保留歷史。
  • 整體數據量:隨變更累加(新增記錄),但單條記錄不被覆蓋。

例子 2:訂單狀態流水表

業務場景:訂單創建后,金額、商品等信息固定,但支付狀態、退款次數等需要隨流程更新,同時需要記錄狀態變更軌跡。

數據變化過程

  1. 訂單創建(2023-03-01 10:00):

    訂單 ID金額商品支付狀態退款次數記錄時間
    O2001200襯衫未支付02023-03-01 10:00
  2. 2023-03-01 10:30 支付成功:
    新增一條狀態記錄(不修改原記錄):

    訂單 ID金額商品支付狀態退款次數記錄時間
    O2001200襯衫未支付02023-03-01 10:00
    O2001200襯衫已支付02023-03-01 10:30
  3. 2023-03-02 09:00 申請退款:
    再新增一條記錄:

    訂單 ID金額商品支付狀態退款次數記錄時間
    O2001200襯衫未支付02023-03-01 10:00
    O2001200襯衫已支付02023-03-01 10:30
    O2001200襯衫已退款12023-03-02 09:00

半累加特征

  • 靜態字段(金額、商品):創建后固定,不參與累加。
  • 動態字段(支付狀態、退款次數):隨流程更新,每次變更生成新記錄。
  • 整體數據:按狀態變更累加,可追溯完整流程,但不會覆蓋歷史狀態。

例子 3:每日活躍用戶增量表

業務場景:按天統計活躍用戶,每天的活躍用戶是增量數據,但用戶的基礎信息(如注冊渠道)固定。

數據存儲方式

  • 按天分區(dt='2023-05-01'dt='2023-05-02'等)。
  • 每個分區存儲當天活躍用戶的信息,包含固定字段和動態字段。

數據示例

  • dt='2023-05-01'?分區:

    用戶 ID注冊渠道當日活躍時長(分鐘)
    1001官網30
    1002應用商店45
  • dt='2023-05-02'?分區(新增當日活躍用戶):

    用戶 ID注冊渠道當日活躍時長(分鐘)
    1001官網20(1001 用戶再次活躍)
    1003小程序15(新活躍用戶)

半累加特征

  • 靜態字段(注冊渠道):每個用戶只記錄一次(或重復但值不變),不隨日期累加。
  • 動態字段(當日活躍時長):按日增量記錄,累計計算總時長時需匯總各分區。
  • 整體數據:按日期分區累加,每個分區是獨立的增量,不覆蓋歷史分區。

總結

半累加數據的核心是 **“區分靜態與動態字段,保留歷史同時支持增量更新”**,這既滿足了數據倉庫 “可追溯” 的需求,也適配了 Hive 基于 HDFS“擅長追加、不擅長修改” 的技術特性。常見于維度表(SCD2)、狀態流水表、按時間分區的增量統計場景中。

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

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

相關文章

【貪心算法】day2

📝前言說明: 本專欄主要記錄本人的貪心算法學習以及LeetCode刷題記錄,按專題劃分每題主要記錄:(1)本人解法 本人屎山代碼;(2)優質解法 優質代碼;&#xff…

Spring Boot整合RabbitMQ進階實戰:TTL、死信隊列與延遲隊列深度解析

Spring Boot整合RabbitMQ進階實戰:TTL、死信隊列與延遲隊列深度解析 一、TTL機制深度解析:從原理到落地 在RabbitMQ的消息生命周期管理中,TTL(Time-To-Live) 是核心機制之一——它通過設置消息的"存活時長"&…

最新react,vue 解決無法使用js觸發點擊,解決方案

const elements document.getElementsByClassName(remove-btn-eIaRy9 select-none semi-dropdown-item);if (elements.length > 0) {const element elements[0];const rect element.getBoundingClientRect();// 模擬鼠標移動到元素上const mouseOverEvent document.crea…

一鍵部署開源 Coze Studio

文章目錄一、簡介1、什么是 Coze Studio2、參考地址二、安裝部署1、安裝docker2、安裝git3、下載core4、配置公網可用5、登錄成功一、簡介 1、什么是 Coze Studio Coze Studio 是一站式 AI Agent 開發工具。提供各類最新大模型和工具、多種開發模式和框架,從開發到…

Python Excel 通用篩選函數

案例目的 第一個函數從指定文件路徑讀取CSV數據并轉換為DataFrame,第二個函數使用靈活的條件篩選DataFrame。 示例數據!&idxMarketCURRPMTERMANT……*1JPUSD10…*1CHINAEUR00…*1USAUSD10…*2JPJPY10…*3USACNY11…*4CHINACNY00…*5JPUSD11…*6JPJPY00…假定數據…

鴻蒙中內存泄漏分析

引言:什么是內存泄漏? 想象一下你的手機是一個酒店,每個應用程序都是酒店的客人。當客人(應用程序)使用房間(內存)時,酒店經理(系統)會分配房間給他們使用。…

將windows 的路徑掛載到Ubuntu上進行直接訪問

1、下載hane NFS Server安裝2、安裝后打開3、在電腦上創建個共享文件夾,我這里選擇D:\share4、在hane win nfs server 軟件上選擇Edit\preferences5、選擇exports6、選擇Edit exports file, 在最后添加D:\share -name:nfs,然后點擊Save如果添加root權限使…

開源 python 應用 開發(十一)短語音轉文本

最近有個項目需要做視覺自動化處理的工具,最后選用的軟件為python,剛好這個機會進行系統學習。短時間學習,需要快速開發,所以記錄要點步驟,防止忘記。 鏈接: 開源 python 應用 開發(一&#xf…

【C++闖關筆記】封裝②:友元與模板

系列文章目錄 第零篇:從C到C入門:C有而C語言沒有的基礎知識總結-CSDN博客 第一篇:【C闖關筆記】封裝①:類與對象-CSDN博客 第二篇:【C闖關筆記】封裝②:友元與模板-CSDN博客 第三篇:【C闖關筆…

Python 爬蟲教程 | 豆瓣 TOP250 數據抓取與分析實戰

一、項目背景與數據價值豆瓣TOP250是影視行業的重要榜單,具有以下數據價值:評分與評價人數:衡量電影市場熱度;導演與演員信息:分析人才價值與影視趨勢;類型 / 地區 / 年份:洞察電影類型與年代變…

第04章 SPSS簡介與數據庫構建

參考:SPSS實戰與統計思維 - 武松編著 - 微信讀書 4.1 SPSS簡介 發展歷史 全稱Statistical Product and Service Solutions,由美國斯坦福大學三位研究生于1968年開發。 對比其他軟件成立時間:SAS(1976年)、Stata&…

【ABAP4】數據字典

ABAP數據字典ABAP數據字典概述數據字典的基本對象域數據元素表類型系統創建自定義透明表創建自定義結構鎖對象ABAP數據字典概述 ABAP數據字典是SAP定義和管理數據的工具,包含了程序使用的所有對象,數據字典中包括數據庫表、視圖、數據類型、域、搜索幫助…

不知道Pycharm怎么安裝?Pycharm安裝教程(附安裝包)

Pycharm安裝教程(附安裝包)獲取方式:python開發工具包丨夸克網盤-資源免費下載 有位朋友剛開始學習python,不知道Pycharm要怎么安裝,于是問我要一個安裝教程。 先介紹一下Pycharm吧,PyCharm是一款python開…

在 Docker 容器中查看 Python 版本

博客目錄前言方法一:交互式進入容器查看方法二:啟動時直接執行命令方法三:啟動后使用 exec 執行命令方法四:直接運行并查看版本(容器退出)方法比較與選擇指南實際應用中的注意事項進階技巧批量檢查多個鏡像…

React:Umi + React + Ant Design Pro的基礎上接入Mock數據

為什么需要Mock數據 前端開發依賴后端接口時的阻塞問題 獨立開發和測試的需求 快速迭代和原型驗證的重要性 當前版本及框架 React18 Umi 4.0 Ant Design Ant Design Pro 其實這些都不重要,主要是有Umijs,因為Umijs具有開箱即用Mock功能的能力&#…

VMware centos磁盤容量擴容教程

目錄前言相關概念磁盤磁盤分區文件系統掛載點物理卷、VG(卷組)、LV(邏輯卷)、LVM(邏輯卷管理)解決方案前言 這篇博客主要分享我在VM中通過docker搭建dify大模型應用平臺時,遇到了分配的磁盤容量…

kubernetes中的認證和授權

一 kubernetes API 訪問控制Authentication(認證)認證方式現共有8種,可以啟用一種或多種認證方式,只要有一種認證方式通過,就不再進行其它方式的認證。通常啟用X509 Client Certs和Service Accout Tokens兩種認證方式。…

雅菲奧朗SRE知識墻分享(四):『AI已開始重塑勞動力市場,美國年輕科技從業者首當其沖』

近日,據《商業內幕》報道,AI正在重塑美國就業市場,年輕的科技從業者正首當其沖地感受到沖擊。高盛首席經濟學家Jan Hatzius在本周一撰文指出:“AI 確實開始在各類數據中顯現出更加明顯的跡象。”據高盛的分析,科技行業…

Python爬蟲入門指南:從零開始的網絡數據獲取之旅

文章目錄前言1. 什么是網絡爬蟲?2. 爬蟲的倫理與法律邊界3. Python爬蟲的基本工具庫3.1 Requests:HTTP請求庫3.2 Beautiful Soup:HTML/XML解析庫3.3 lxml:高效XML/HTML解析器3.4 Selenium:自動化瀏覽器工具4. 第一個爬…

說說你對JVM的垃圾回收機制的理解?

Java 虛擬機(JVM)的垃圾回收(Garbage Collection,GC)機制是自動管理內存的核心,其核心目標是識別并回收不再被使用的對象所占用的內存,避免內存泄漏和溢出。以下從垃圾判斷方法、垃圾回收算法和…