在 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)机制是自动管理内存的核心,其核心目标是识别并回收不再被使用的对象所占用的内存,避免内存泄漏和溢出。以下从垃圾判断方法、垃圾回收算法和…