在Azure Data Factory管道中排序并Zip合并两个整数数组
在Azure Data Factory中实现数组排序与合并(Zip)需求
完全可以实现,具体步骤如下:
1. 对两个数组进行升序排序
ADF表达式语言提供sort函数可直接完成数组升序排序,通过Set Variable活动分别将原始数组排序后存入新变量:
- 处理第一个数组:使用表达式
@sort(variables('原始数组1'), ascending),将结果存入变量排序后数组1 - 处理第二个数组:使用表达式
@sort(variables('原始数组2'), ascending),将结果存入变量排序后数组2
2. 合并(Zip)为目标二维数组
ADF没有原生Zip函数,但可以通过ForEach活动结合索引实现元素配对:
- 生成索引数组:通过Set Variable活动创建变量
索引数组,表达式为@range(0, length(variables('排序后数组1')))(需确保两个排序后数组长度一致) - 初始化结果变量:创建空数组变量
最终二维数组,用于存储配对后的子数组 - 遍历索引完成配对:
- 添加ForEach活动,遍历
索引数组中的每个索引值 - 在ForEach内部添加Append Variable活动,表达式写为
@createArray(variables('排序后数组1')[item()], variables('排序后数组2')[item()]) - 该表达式会根据当前索引,从两个排序后的数组中取出对应位置的元素组成子数组,再追加到
最终二维数组中
- 添加ForEach活动,遍历
完成上述操作后,最终二维数组就会是你需要的[[value1, value4], [value2, value5], [value3, value6]]格式,可直接传入ForLoop活动使用。
内容的提问来源于stack exchange,提问作者Carolina Karoullas
相关产品推荐
相关产品推荐

