gpt4 book ai didi

azure - 如何在 Azure DataLake 中合并基本结构流和多个增量结构流

转载 作者:行者123 更新时间:2023-12-04 14:26:06 25 4
gpt4 key购买 nike

我有一个基本流,并且有多个针对不同连续日期的增量流。我想合并它们以获得最终的流。我如何在 Azure Datalake 中完成此操作。例如,假设这些是流。我需要合并这些流以获得最终的流。合并将用新值替换原始值。目前Delta流数量已超过100条。

基础流:

1022918 300.00  300.00  2   7   5   100
1022918 400.00 400.00 2 170 5 100
1022919 1000.00 1000.00 2 7 6 100
1022920 2000.00 2000.00 2 170 6 100
1022921 3000.00 3000.00 2 123 7 100
1022922 100.00 100.00 2 162 7 100
1022922 200.00 200.00 2 123 9 100
1022922 300.00 300.00 2 162 9 100

Delta Stream 1:

1022918 400.00  300.00  2   7   5   100
1022919 2000.00 1000.00 2 7 6 100
1022920 3000.00 2000.00 2 170 6 100
1022922 400.00 300.00 2 162 9 100

Delta Stream 2:

1022919 2500.00 1000.00 2   7   6   100
1022920 3500.00 2000.00 2 170 6 100

预期输出

1022918 400.00  300.00  2   7   5   100
1022918 400.00 400.00 2 170 5 100
1022919 2500.00 1000.00 2 7 6 100
1022920 3500.00 2000.00 2 170 6 100
1022921 3000.00 3000.00 2 123 7 100
1022922 100.00 100.00 2 162 7 100
1022922 200.00 200.00 2 123 9 100
1022922 400.00 300.00 2 162 9 100

最佳答案

Azure Data Lake Store 是一个仅附加文件系统。这意味着记录只能添加到文件的末尾。这与许多其他仅附加系统没有太大不同。 Azure Data Lake Analytics 和 Hive 等各种分析应用程序可用于逻辑合并这些基本流和增量流

实现这一目标通常需要 4 个步骤。

  1. 加载基础数据 - 这很简单。加载基础数据时,您需要添加标识符。例如基准日期或基准版本。对于此讨论,假设您使用版本号。假设基础数据是版本 0

  2. 将增量数据加载到自己的表/文件中 - 加载它们时,您还需要有一个标识符,可用于与基础数据进行比较以确定最新记录。假设我们也有版本号。因此新记录将是更大的版本号 1、2、3 等等。

  3. 构建合并 View - 这是一个将基础数据与版本最大的 ID 上的增量数据连接起来的查询。现在,当您看到此 View 时,这就是所有最新记录。

  4. 使用合并 View 中的记录创建新的基础数据。

这里有一篇文章解释了如何使用 Hive 来实现此目的。这个使用日期时间来识别最新记录。

https://hortonworks.com/blog/four-step-strategy-incremental-updates-hive/

关于azure - 如何在 Azure DataLake 中合并基本结构流和多个增量结构流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43319388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com