沃尔玛如何使用 Apache Hudi 和 Spark 实现 SCD-2(渐变维度)?


数据是当今分析世界的宝贵资产。在向最终用户提供数据时,跟踪数据在一段时间内的变化非常重要。渐变维度 (SCD) 是随时间推移存储和管理当前和历史数据的维度。
在 SCD 的类型中,我们将特别关注类型 2(SCD 2),它保留了值的完整历史。每条记录都包含有效时间和到期时间,以标识记录处于活动状态的时间段。这可以通过少数审计列来实现。例如:有效开始日期、有效结束日期和活动记录指示器。

让我们了解如何使用Apache Hudi 和 Spark来实现这种 SCD-2 表设计

Apache Hudi 是下一代流数据湖平台。Apache Hudi 将核心仓库和数据库功能直接引入数据湖。Hudi 提供表、事务、高效的 upserts/deletes、高级索引、流式摄取服务、数据集群/压缩优化和并发,同时将您的数据保持为开源文件格式。

Apache Hudi 总是显示表中的快照数据,即最近提交的最新数据。如果我们想跟踪历史变化,我们需要利用Point in Time QueryHudi ( https://hudi.apache.org/docs/quick-start-guidepoint-in-time-query )

Hudi 允许通过时间点查询旧版本的最新数据读取和时间旅行。通过时间点查询遍历历史数据变化是乏味的,并且需要对给定数据进行多次时间间隔分析。

让我们看看如何通过使用经典方法的解决方法来克服这个问题。

详细点击标题