Azure Stream Analytics:在7天内计算COUNT(*)

问题描述 投票:0回答:1

[我有[Azure事件中心](https://docs.microsoft.com/en-us/azure/event-hubs/)提取的用户数据流。

我正在使用[Azure流分析](https://docs.microsoft.com/en-us/azure/stream-analytics/)通过给定productId的视图的COUNT(*)汇总该数据。

然后我在CosmosDB中更新productId的视图计数。

在原型中,我像这样在Stream Analytics作业中运行查询:

SELECT
    productId, COUNT(*) AS views
INTO
    cosmosDbOutput
FROM
    eventHubInput
TIMESTAMP BY moment
GROUP BY productId, System.Timestamp()

此查询在所有时间中提供了产品的视图。

我在Cosmos中运行查询以检索最受欢迎的视图:

SELECT TOP 10 * FROM c
ORDER BY c.views DESC

我只想保留产品在过去30天]中看到的视图。

[我看到Stream Analytics作业具有[窗口功能](https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-window-functions),最长时间为7天。

鉴于窗口功能的限制,有没有办法编写汇总超过7天的查询?

如果没有,我应该考虑在工具或存储方面采用不同的方法吗?

我有[Azure事件中心](https://docs.microsoft.com/en-us/azure/event-hubs/)提取的用户数据流。我正在使用[Azure Stream Analytics](https:// docs ....

azure azure-cosmosdb azure-eventhub azure-stream-analytics
1个回答
0
投票

我假设您过去的数据不会改变,因此不需要使用Stream Analytics。一旦计算出计数,就可以将其持久化在SQL数据库或表服务(Cosmos /存储)上并创建实例化视图。

© www.soinside.com 2019 - 2024. All rights reserved.