眼君的大数据之路

数据漂移问题与解决

2020-12-16  本文已影响0人  眼君

什么是数据漂移

通常我们把从源系统同步进入数仓的第一层数据称为 ODS或者staging层数据,接入层 。
数据漂移是接入层数据的一个顽疾。

数据漂移定义:接入层表同一个业务日期数据中包含前一天或者后一天凌晨附近的数据或者丢失当天的变更数据。

数据漂移出现的原因

一般数仓的接入层都需要存储历史数据,按照一定时间段来切分进行分区存储,一般选择某个时间戳字段进行切分。而这些时间戳字段的准确性是导致数据漂移的根本原因。

通常,时间戳字段分为四类:

  • modified_time:数据库记录某条数据更新的时间。
  • log_time:数据库日志记录某条数据更新的时间。
  • proc_time:具体业务过程发生时间。
  • extract_time:数据记录被抽取时间。

假设接入层将每日接入的数据存储到一个分区:

处理数据漂移的方式

常用的方式是将ODS每个时间分区中向前、向后多冗余一些数据,保障数据只会多不会少,具体数据切分时让数仓接入层的下一层按照具体的业务场景用不同的业务时间proc_time来限制。

上一篇下一篇

猜你喜欢

热点阅读