如何在Azure DataLake中合并基本流和多个增量结构流
我有一个基本流和多个不同连续日期的增量流。我想合并它们以得到最终的流。我如何在Azure Datalake中实现这一点。例如,假设这些是流。我需要合并这些流以得到最终的流。合并将用新值替换原始值。到目前为止,三角洲河流的数量已超过100条 基本流:如何在Azure DataLake中合并基本流和多个增量结构流,azure,merge,u-sql,delta,Azure,Merge,U Sql,Delta,我有一个基本流和多个不同连续日期的增量流。我想合并它们以得到最终的流。我如何在Azure Datalake中实现这一点。例如,假设这些是流。我需要合并这些流以得到最终的流。合并将用新值替换原始值。到目前为止,三角洲河流的数量已超过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 10229
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
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
1022919 2500.00 1000.00 2 7 6 100
1022920 3500.00 2000.00 2 170 6 100
三角洲流1:
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
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
1022919 2500.00 1000.00 2 7 6 100
1022920 3500.00 2000.00 2 170 6 100
三角洲流2:
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
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
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个步骤
我使用您的测试数据在
U-SQL
中创建了一个示例。它采用如上所述的方法,并根据您描述的唯一键和某种数据组件获取最后一条记录
我使用了以下文件:
- 文件以空格分隔
- 文件名(或可能是文件夹)包含日期组件
HTH您对这些文件的预期结果是什么?文件的唯一键是什么?用预期的输出更新了问题。主键是第1行+第5列+第6行。您太棒了:)嘿,刚刚尝试了您的解决方案。如何设置filedate。我想把它作为一个控制参数,这样我就可以为增量文件指定startdate,并且从startdate到currentDate的所有增量文件都合并到基本文件中。正如我在假设中提到的,此解决方案假设文件名或文件夹中包含一个日期。如果您查看我的示例文件,您将看到它们的文件名中有一个日期,例如delta_20170103.txt。这就是所谓的U-SQL中的a。