热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

kettle按照时间增量和全量抽_数仓中的全量表,增量表,拉链表,流水表,快照表...

数仓中的全量表,增量表,拉链表,流水表,快照表预热:我们先从几个物理概念入手理解什么是流量,存量


数仓中的全量表,增量表,拉链表,流水表,快照表


预热:


我们先从几个物理概念入手理解什么是流量,存量,增量


(1)存量:系统在某一时点时的所保有的数量;


(2)流量:是指在某一段时间内流入/出系统的数量


(3)增量:则是指在某一段时间内系统中保有数量的变化


(4)增量=流入量--流出量


(5)本期期末存量=上期期末存量+本期内增量


正题


全量表:每天的所有的最新状态的数据。


(1)全量表,有无变化,都要报
(2)每次上报的数据都是所有的数据(变化的 + 没有变化的)


增量表:新增数据,增量数据是上次导出之后的新数据。
(1)记录每次增加的量,而不是总量;
(2)流量是指在一定时间内的增量;
(3)流量一般设计成增量表(日报-常用、月报);
(4)流量和存量的区别:流量是增量;存量是总量;
(5)增量表,只报变化量,无变化不用报




9c06defc762ee7920e8d68b3e41e0f91.png

拉链表:


(1)记录一个事物从开始,一直到当前状态的所有变化的信息;


(2)拉链表每次上报的都是历史记录的最终状态,是记录在当前时刻的历史总量;


(3)当前记录存的是当前时间之前的所有历史记录的最后变化量(总量);


(4)存量是在某一时刻的总量;


(5)存量一般设计成拉链表(月报-常用、日报);


(6)流量和存量的区别:流量是增量;存量是总量;


(7)封链时间可以是2999,3000,9999等等比较大的年份;拉链表到期数据要报0;


(8)拉链表和增量表的共同点:表结构基本一样。


在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。


拉链表适用于以下几种情况吧 数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实, 不仅浪费了存储空间,有时可能业务统计也有点麻烦,


这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。


关于拉链表设计的案例:可以看看下面的博客


http://www.cnblogs.com/wujin/p/6121754.html


https://blog.csdn.net/mtj66/article/details/78019370


http://www.jianshu.com/p/799252156379


http://lxw1234.com/archives/2015/04/20.htm


流水表:对于表的每一个修改都会记录,可以用于反映实际记录的变更


 区别于拉链表: 


  1. 拉链表通常是对账户信息的历史变动进行处理保留的结果,流水表是每天的交易形成的历史;
  2. 流水表用于统计业务相关情况,拉链表用于统计账户及客户的情况

快照表:




fe4f8502b62ce0bc7585fca6466fc24f.png

按照每天存放的数据以及是否按天分区可以分为增量表,全量表和快照表




8d9770fe54248ca92e4a3f5f89bd923e.png



推荐阅读
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文详细介绍了如何使用ActionScript 3.0 (AS3) 连接并操作MySQL数据库。通过具体的代码示例和步骤说明,帮助开发者理解并实现这一过程。 ... [详细]
  • 本文详细介绍了美国最具影响力的十大财团,包括洛克菲勒、摩根、花旗银行等。这些财团在历史发展过程中逐渐形成,并对美国的经济、政治和社会产生深远影响。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • QBlog开源博客系统:Page_Load生命周期与参数传递优化(第四部分)
    本教程将深入探讨QBlog开源博客系统的Page_Load生命周期,并介绍一种简洁的参数传递重构方法。通过视频演示和详细讲解,帮助开发者更好地理解和应用这些技术。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • HTTP 请求与响应详解
    本文深入探讨了HTTP请求和响应的结构,详细解释了每个部分的作用,并提供了相关示例。通过本文,读者可以全面理解HTTP协议中请求和响应的工作原理。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 在即将迎来26岁生日之际,作者的人生陷入了低谷。经过近三年的硕士学习后,最终决定退学,并且面临没有工作经验的困境。尽管如此,作者依然坚定地选择为自己的人生负责。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
author-avatar
乌龟考拉互受
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有