首页 > 解决方案 > Azure 流分析 - 如何根据时间戳和自定义 Id 字段对事件中心数据进行排序

问题描述

我正在尝试使用流分析对事件中心输入数据进行排序,并以 CSV 格式填充 ADLS 2 中的输出,但数据未排序。

我使用了 azure 函数(定时器触发器),它按顺序从 SQL Server 获取数据(按 Id 字段排序)并将批处理事件数据发送到事件中心。

在流分析中,我使用事件中心流作为输入,使用 ADLS 2 作为输出。

我尝试了CollectTop()TopOne()来对数据进行排序。

另外,我正在使用“SeenTime 的时间戳”

以下是 ASA 查询:

事件数据:输入

adls2:输出

With 
    Step1 as (   
        SELECT eventdata.Id as Id, eventdata.ClientMacAddress, eventdata.SeenEpoch, 
        eventdata.SeenTime, System.Timestamp() t   
        FROM eventdata
        TIMESTAMP BY SeenTime
    ),
    Step2 as (
        SELECT TopOne() OVER (ORDER BY Id asc) as topEvent  
    FROM Step1 
    Group by TumblingWindow(minute, 10)
    )
    SELECT udf.convertJsonToString(topEvent)
        INTO
        [adls2]
    FROM Step2

提前感谢您的帮助。

标签: azure-data-lakeazure-eventhubazure-stream-analytics

解决方案


推荐阅读