我想使用 Azure ADF 映射数据流根据其连续性对中断序列进行分组。
以下是 blob 文件示例:
如上所示,有一个主键列和一个包含中断序列的列,我想创建第三列(预期输出)对序列进行分组。
由于 1,2,3 是第一个序列,因此值为 1,而 9,10,11,12 是下一个序列,值为 2,依此类推。
最佳答案
使用 Windows 转换将当前行与预览行进行比较。然后,如果存在间隙,即当前序列 - 前一个序列 > 1,则使用第二个窗口转换来增加计数器。
如果将名为 source1 的源添加到新数据流中,则可以使用“脚本”按钮粘贴此代码以显示后面的脚本。在末尾添加一个换行符并复制/粘贴:
source1 derive(dummy = 1) ~> CreateDummyValue
CreateDummyValue window(over(dummy),
asc(year, true),
startRowOffset: -1L,
endRowOffset: 0L,
year2 = first(year)) ~> AddPreviousValue
AddPreviousValue window(over(dummy),
asc(year, true),
column1 = sum(iif(abs(year-year2)<=1,0,1))) ~> CompareAndBucket
我使用的是电影数据中我自己的列名称,因此请将列名称替换为您的数据列。对你来说,电影应该替换为序列,预期输出是我的“Column1”。
关于azure-data-factory - 是否有一项规定可以根据 Azure 映射数据流中的连续性对中断序列进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63352157/