azure-data-lake - 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
提前感谢您的帮助。
解决方案
推荐阅读
- python - 自定义 bash 函数不提供 python 多个参数
- java - 在 MariaDB 上使用 Hibernate 的 JPQL 更新查询出错
- python - 在列表中搜索终端输入并将匹配项存储到新列表中
- cuda - 使用 CUDA C/C++ 进行高斯图像模糊
- flutter - Flutter:如何在 Text 小部件中设置 maxLine
- django - Django ListView 分页设置
- bash - Maven 属性 - Windows 提示上的 Git Bash Shell 不是 UTF-8
- macos - 如果删除了如何重新安装apache服务器?
- python - Keras - 嵌入到 LSTM:预期 ndim=3,发现 ndim=4
- spring-security - 使用带有 Spring Security 的自定义登录页面时出现 403 Forbidden 错误