映射数据流中的数组函数
适用于:Azure 数据工厂 Azure Synapse Analytics
数据流在 Azure 数据工厂和 Azure Synapse 管道中均可用。 本文适用于映射数据流。 如果不熟悉转换,请参阅介绍性文章使用映射数据流转换数据。
以下文章详细介绍了映射数据流中 Azure 数据工厂和 Azure Synapse Analytics 所支持的数组函数。
数组函数列表
数组函数对属于数组的数据结构执行转换。 其中包括用于对数组元素和索引进行寻址的特殊关键字:
#acc
表示在减少数组时希望包含在单个输出中的值#index
表示当前的数组索引以及数组索引编号#index2, #index3 ...
#item
表示数组中的当前元素值
数组函数 | 任务 |
---|---|
array | 创建项的数组。 所有项应属于同一类型。 如果未指定任何项,则默认值为空字符串数组。 与 [] 创建运算符相同。 |
at | 查找数组索引处的元素。 索引从 1 开始。 如果索引超出界限,则返回 null 值。 在给定了键的情况下,在映射中查找值。 如果未找到该键,则返回 null。 |
contains | 如果所提供的数组中的任何元素在提供的谓词中计算结果为 true,则返回 true。 Contains 需要引用谓词函数中的一个元素作为 #item。 |
distinct | 返回数组中的相异项集。 |
except | 从另一组删除重复项中返回一个数组的差异集。 |
filter | 筛选出数组中不满足所提供谓词的元素。 Filter 需要引用谓词函数中的一个元素作为 #item。 |
find | 查找数组中与条件相匹配的第一项。 它采用筛选器函数,你可以在其中将数组中的项作为 #item 进行寻址。 对于深层嵌套的映射,可使用 #item_n(#item_1, #item_2...) 表示法引用父映射。 |
flatten | 将一个或多个数组平展成单个数组。 原子项数组将按原样返回。 最后一个参数是可选的,默认为 false,表示以递归方式平展多个层。 |
in | 检查某个项是否在数组中。 |
intersect | 返回 2 个数组中不同项的交集。 |
map | 使用提供的表达式将数组的每个元素映射到新元素。 Map 需要引用表达式函数中的一个元素作为 #item。 |
mapIf | 有条件地将数组映射到长度相同或更短的另一个数组。 这些值可以是任何数据类型,包括 structTypes。 它采用一个映射函数,在其中可以将数组中的项作为 #item 进行寻址,将当前索引作为 #index 进行寻址。 对于深层嵌套的映射,可使用 #item_[n](#item_1, #index_1...) 表示法引用父映射。 |
mapIndex | 使用提供的表达式将数组的每个元素映射到新元素。 Map 需要引用表达式函数中的一个元素作为 #item,并需要引用元素索引作为 #index。 |
mapLoop | 从 1 到某个长度进行循环,以创建具有该长度的数组。 它采用一个映射函数,在其中可以将数组中的索引作为 #index 进行寻址。 对于深层嵌套的映射,可使用 #index_n(#index_1, #index_2...) 表示法引用父映射。 |
reduce | 累积数组中的元素。 Reduce 需要引用第一个表达式函数中的累加器和一个元素作为 #acc 和 #item,并且需要在第二个表达式函数中使用生成值作为 #result。 |
大小 | 查找数组或映射类型的大小 |
slice | 从位置提取数组的子集。 位置从 1 开始。 如果省略长度,则默认为字符串的末尾。 |
sort | 使用提供的谓词函数对数组进行排序。 Sort 需要引用表达式函数中的两个连续元素作为 #item1 和 #item2。 |
unfold | 将数组展开为一组行并在每行中重复剩余列的值。 |
union | 返回 2 个数组中不同项的并集。 |
相关内容
- 所有聚合函数的列表。
- 所有高速缓存的查找函数的列表。
- 所有转换函数的列表。
- 所有 日期和时间函数的列表。
- 所有表达式函数的列表。
- 所有 地图函数的列表。
- 所有元函数的列表。
- 所有窗口函数的列表。
- 所有数据转换表达式的使用情况详细信息。
- 了解如何使用表达式生成器。