如何解决扩展流单元时内存使用量超过容量错误
今天,我将 Azure 流分析作业的流单元(从 3 个)扩大到 18 个。在此期间发生了以下处理错误:
内存使用量超过了一个或多个查询步骤的容量。事件处理可能会延迟或停止取得进展。这可能是由于查询中的大窗口、输入中的大事件、大的乱序容限窗口或以上的组合造成的。请尝试对您的查询进行分区,或将您的查询分解为更多步骤,并从 Scale 选项卡添加 Streaming Unit 资源以避免这种情况。
可能是我查询的这部分造成的
GroupedDailyTenantQuery AS (
SELECT
[TenantId],System.Timestamp() AS WindowEnd,[ItemType],COUNT(*) AS EventCount,COUNT(distinct(ExternalId)) AS ViewerCount
FROM
ReaderQuery
GROUP BY TumblingWindow(Duration(day,1),Offset(hour,5)),TenantId,[ItemType]
)
以及大量积压的输入事件:~5M
此错误导致自动重启,当时我们决定停止并尝试使用 6 SU,结果正常。但是,我不明白 18 SU 是什么导致了这个问题,6 运行良好。
使用 18 SU 时,利用率达到 90% 甚至更高。现在我想了解它为什么会发生?以及我可以用我的查询做什么才能运行 18 SU。
我阅读了 that 并据此我应该能够在不分区的情况下运行最多 6 个 SU。然而,前一天我对更大的项目进行了测试。一切顺利。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。