如何在Azure Data Factory及数据流中将字符串数组转为整数数组
在Azure Data Factory中将字符串数组转换为整数数组的方法
一、管道(Pipeline)中的实现
可以通过ADF的表达式函数组合完成转换,核心是使用map()遍历数组,配合int()将每个字符串元素转为整数:
- 基础转换表达式:
map(你的字符串数组变量/字段, int(#item))
例如,若变量strArray的值为["1", "2", "3"],执行该表达式后会得到整数数组[1, 2, 3]。 - 异常处理:如果数组中存在无法转为整数的元素,可添加判断避免报错:
map(variables('strArray'), iif(isInteger(#item), int(#item), null()))
此表达式会将无效元素转为null,而非直接触发失败。
二、数据流(Data Flow)中的实现
数据流中同样支持数组类型转换,主要通过transform()函数在派生列中完成:
- 添加派生列转换,针对目标字符串数组列编写表达式:
transform(strArrayColumn, int($$))
其中$$代表数组中的当前元素,transform()会遍历数组并返回转换后的整数数组。 - 异常处理扩展:若需兼容无效字符串元素,可结合条件判断:
transform(strArrayColumn, iif(isInteger($$), int($$), null()))
这样遇到非整数格式的元素时,会将其设为null,保证数据流正常运行。
注意事项
- 无论管道还是数据流场景,都要确保数组元素为有效整数格式,否则未加异常处理的转换会直接报错。
- 管道的
map()与数据流的transform()逻辑一致,均为遍历数组并对每个元素执行转换操作。
内容的提问来源于stack exchange,提问作者Anupam Alok
相关产品推荐
相关产品推荐

