你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

映射数据流中的排序转换

适用于: Azure Data Factory Azure Synapse Analytics

提示

Microsoft Fabric 中的 Data Factory 是下一代 Azure Data Factory,具有更加简化的架构、内置人工智能和新功能。 如果不熟悉数据集成,请从Fabric数据工厂开始。 现有 ADF 工作负载可以升级到 Fabric,以跨数据科学、实时分析和报告访问新功能。

数据流可在Azure Data Factory管道和Azure Synapse Analytics管道中使用。 本文适用于映射数据流。 如果你不熟悉转换,请参阅介绍性文章: 使用映射数据流转换数据

根据用户指定的排序条件,使用排名转换生成已排序的排名。

配置

排名设置

不区分大小写:如果排序列的类型为 string,则大小写会影响排名结果。

密集:如果启用,则该排名列将被密集排序。 每个排名计数都将是连续数字,并且在出现不相上下的结果后不会跳过排名值。

排名列:生成的排名列的名称。 此列的类型为 long。

排序条件:选择用于排序的列,并确定排序的顺序。 该顺序决定排序优先级。

上述配置将使用传入的篮球数据,并创建一个名为“pointsRanking”的排名列。 PTS 列值最高的行的 pointsRanking 值将为 1。

数据流脚本

语法

<incomingStream>
    rank(
        desc(<sortColumn1>),
        asc(<sortColumn2>),
        ...,
        caseInsensitive: { true | false }
        dense: { true | false }
        output(<rankColumn> as long)
    ) ~> <sortTransformationName<>

示例

排名设置

以上排名配置的数据流脚本在下面的代码片段中。

PruneColumns
    rank(
        desc(PTS, true),
        caseInsensitive: false,
        output(pointsRanking as long),
        dense: false
    ) ~> RankByPoints

使用过滤转换基于排名值来筛选行。