2

我想使用 Azure ADF 映射数据流根据其连续性对中断序列进行分组。

以下是 blob 文件示例:

在此处输入图像描述

如上所示,有一个主键列和一个包含中断序列的列,我想创建第三列(预期输出)来分组一个序列。

由于 1,2,3 是第一个序列,它的值为 1,而 9,10,11,12 是下一个序列,其值为 2,依此类推。

4

1 回答 1

3

使用 Windows 转换将当前行与预览行进行比较。然后,如果存在间隙,即当前序列 - 前一个序列 > 1,则使用第二个窗口转换来增加计数器。

如果将名为 source1 的源添加到新数据流,则可以使用脚本按钮粘贴此代码以显示后面的脚本。在末尾添加一个带有 Enter 的新行并复制/粘贴:

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

我正在使用我自己的电影数据中的列名,因此将列名替换为您的数据列。对你来说,movie 应该替换为 Sequences,Expected Output 是我的“Column1”。

于 2020-08-11T07:39:22.853 回答