我是否跟踪数据湖中数据的更改?

Do I track changes to my data in a data lake?

最近我发现了数据湖世界,我打算用 ADL 建立一个数据湖。我不确定的一件事是数据湖应该如何跟踪来自源的 time/handle 不同版本的变化。

我遇到过一些网站,声称数据湖按原样提供数据,其他状态是数据应该有时间戳,或者文件夹结构应该反映时间戳。

无论如何,有什么最佳做法吗?

干杯!

数据湖中通常有不同的区域。这里有一个good explanation of common zones。在原始区域中,数据通常与源没有变化。它可能是自上次加载以来更改记录的增量加载,也可能是数据源实体的完整副本。这通常是您将看到每个实体的带时间戳的文件夹的位置。例如,您可能具有以下文件夹结构。

原始数据

Organizational Unit

      Subject Area

           Original Data Source

                Object

                     Date Loaded

                          File(s)

用户通常不会查询原始区域。它充当数据的历史档案。

用户会经常查询 Curated zone。此区域通常包含已转换以满足用户需求的原始数据子集。通常,这包含实体当前外观的副本,省略旧版本,因为那是 analysts/data 科学家想要看到的,或者因为那是需要输入到另一个从数据湖获取数据的应用程序的东西。您可以找到对 Raw 和 Curated 区域 here 的很好解释。

因此,您可能会在跟踪更改时同时拥有带时间戳的数据和当前快照。您可能已经读到,数据湖应该允许您重新创建实体在特定时间的样子,这可以在 Raw 中完成。但其他区域可满足您组织的数据需求,无论是当前数据、所有历史数据还是特定日期的快照。