@@四月 2021-05-27 09:43 采纳率: 100%
浏览 511
已采纳

面试题目:ETL 什么时候用全量抽取,什么时候用增量抽取?

在项目中做抽取时,什么时候用全量,什么时候用增量

  • 写回答

1条回答 默认 最新

  • 小P聊技术 2021-05-27 09:56
    关注

    在根据用户需求选择需要抽取的字段之外,我们通常需要选择采用全量或者增量的方法进行数据抽取。全量抽取指的是从源系统中将表内数据不加行的筛选,全部抽取;增量抽取指的是只抽取前次抽取之后发生变化或者新增的数据(增量抽取的数据难度较大,要保证数据不能多抽取,漏抽取)。
      在源表数据量较大,大部分数据一经入库改动可能较小时一般采用增量抽取的方式;对于表数量较小或者维表这类情况会进行增量抽取。
      对表进行增量抽取时,需要较好的判别出新增或者发生变化的数据,在系统设计时,常见的有下面两种方法:
      1. 触发器方法: 当需要抽取的表中发生新增、修改、删除时,触发触发器,触发器将数据插入临时表,之后抽取只抽取临时表,抽取时对临时表数据打标记或者删除。
      2. 时间戳方法:
    在源系统表中增加一个时间戳字段,在用户对这条记录进行增删改查时,更新时间戳,进行数据抽取时使用时间戳来判断这条记录是否要抽取。加时间戳优点为抽取相对简单,但是对源系统依赖较强。
      全量抽取出来的表对数据仓库进行更新时,可采用全表删除的方法,优点在于简单快捷,但是如果需要保留修改记录时,需要采用数据快照设计;增量抽取出来的表对数据库进行更新,可以使用merge的方式进行更新操作,这种方法逻辑较复杂,速度较慢,且要求源表主键能够匹配识别。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 多尺度特征图提取和融合
  • ¥15 微信小程序:渲染收货地址时页面不显示
  • ¥20 win7 64位DirectShow提示初始化失败如何解决?
  • ¥20 小规模孤立词识别系统设计
  • ¥15 关于Java对接海康威视车牌识别一体机SDK是否需要固定外网的IP?
  • ¥15 Linux扩容时,格式化卡住了:vgdispaly查看卷组信息,没有输出
  • ¥18 关于#ubuntu#的问题:使用背景-工作职责内有七八台ubuntu系统的电脑,平时需要互相调取资料,想实现把这几台电脑用交换机组成一个局域网,来实现指定文件夹的互相调取和写入
  • ¥20 求一个简易射频信号综测仪
  • ¥15 esp8266 tally灯 接收端改为发射端
  • ¥30 Labview代码调用access 数据库,相同代码其中一个调用不出来是为什么