我正在使用流分析来实现简单的数据传递场景。
作业具有多个 SQL Server 输出(三个)和一个 EventHub 输入。事件数量很少。问题是我的 SU 利用率不断增加。我的临时解决方案是每天重新启动Job一两次。
我做错了什么吗?以下是我的查询示例。我尝试更改查询以使用 TUMBLINGWINDOW,但得到了相同的结果。
SELECT field_1, field_2, field_3, field_4, field_5
INTO [out-alias-1]
FROM [in-alias]
WHERE field_1 LIKE 'Event1:%' OR field_1 LIKE 'Event2:%';
SELECT field_1, field_3, field_6, field_7, field_8
INTO [out-alias-2]
FROM [in-alias]
WHERE field_1 LIKE 'Event3:%' OR field_1 LIKE 'Event4:%';
SELECT field_1, field_3, field_4, field_9, field_10
INTO [out-alias-3]
FROM [in-alias]
WHERE field_1 NOT LIKE 'Event1:%' AND field_1 NOT LIKE 'Event2:%'
AND field_1 NOT LIKE 'Event3:%' AND field_1 NOT LIKE 'Event4:%';
最佳答案
您可能会在很少甚至没有输入事件的情况下观察到基线 SU 利用率,因为系统消耗了一定量的资源。系统消耗的资源量也可能随着时间的推移而波动。
流处理单元 (SU) 代表执行 Azure 流分析作业的资源和能力。 SU 提供了一种基于 CPU、内存以及读写速率的混合度量来描述相对事件处理能力的方法。每个流单元对应大约 1MB/秒的吞吐量。详情Stream Analytics key concepts .
SU 利用率指标是衡量 Azure 流分析作业是否需要扩展的指标。高 SU 利用率可能是查询中的大窗口、输入中的大事件、大的无序容忍窗口或以上情况的组合的结果。对查询进行分区,或将查询分解为更多步骤,以及从“规模”选项卡添加更多 SU 都是避免这种情况的策略。详情见Scale Azure Stream Analytics jobs .
关于Azure 流分析 SU 利用率不断增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31288920/