【问题标题】:Azure stream analytics custom output data with CASE statement带有 CASE 语句的 Azure 流分析自定义输出数据
【发布时间】:2020-11-05 15:16:07
【问题描述】:

我在计算每个区域的用户时遇到问题,每个用户都会将他们的区域设置发送到服务器。有人可以帮助我实现这一目标,谢谢。 输出流分析应该是这样的:

{
   "sessionId": "sessionId1", -->group by sessionId
   "data": {
        "North America": 0,
        "South America": 0,
        "Europe": 0,
        "Russia": 1,
        "Africa": 2,
        "India": 0,
        "China": 2,
        "Oceania": 0, 
   }
},
{
   "sessionId": "sessionId2", -->group by sessionId
   "data": {
        "North America": 0,
        "South America": 0,
        "Europe": 0,
        "Russia": 0,
        "Africa": 1,
        "India": 0,
        "China": 0,
        "Oceania": 0, 
   }
}

输入数据:

[{"sessionId":"Session1","deviceId":"deviceTest1","locale":"Russia"},{"sessionId":"Session1","deviceId":"deviceTest2","locale":"China"},{"sessionId":"Session1","deviceId":"deviceTest3","locale":"China"},{"sessionId":"Session1","deviceId":"deviceTest4","locale":"Africa"},{"sessionId":"Session1","deviceId":"deviceTest5","locale":"Africa"},{"sessionId":"Session2","deviceId":"deviceTest6","locale":"Africa"}]

【问题讨论】:

    标签: azure-stream-analytics stream-analytics


    【解决方案1】:

    我试过薮 SQL 查询,但无法达到您的要求。我认为这是不可能的,因为您需要按sessionId分组,但是没有Aggregate Functions可以得到这种格式。

    "data": {
            "North America": 0,
            "South America": 0,
            "Europe": 0,
            "Russia": 0,
            "Africa": 1,
            "India": 0,
            "China": 0,
            "Oceania": 0, 
       }
    

    【讨论】:

    • 嗨,史蒂夫,我找到了解决方案,我使用 UDA 函数(用户定义的聚合函数)来实现我的数据格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    相关资源
    最近更新 更多