Azure Stream Analytics - последнее событие сравнивается с потоком входных данных для указанного интервала c - PullRequest
0 голосов
/ 30 апреля 2020

Может кто-нибудь помочь мне получить следующий сценарий с примером запроса. Я добавил свой пример кода в конце, но он никогда не работал. Я новичок в потоковой аналитике, и ваша помощь будет принята с благодарностью.

1) Получите последнее событие входящей группы ввода по CARID (по метке времени)

2) Считайте скорость последнее событие для каждого CARID

3) Проверьте, была ли скорость последнего события (каждого CARID) с потоком входных данных, полученной за последние 12 секунд

4) Если скорость последнего события меньше, затем отправьте на выход, в противном случае не обрабатывайте последнее событие (опять же, оно должно быть по CARID)

Я использовал функцию TubmlingWindow для получения потока событий за последние секунды.

Здесь это пример кода, который я использовал:

 WITH LastInWindow AS
(
    SELECT 
        CARID,
        MAX(cast(timestamp as datetime)) AS LastEventTime
    FROM 
        IoTHubInput   
    GROUP BY 
        TumblingWindow(second, 12) , CARID       
),

InputLog AS
(
    SELECT 
       CARID,
       max(Speed) speed
    FROM 
        IoTHubLog  

    GROUP BY 
        TumblingWindow(second, 12),timestamp,CARID
)

SELECT
IoTHubLog.CARID,   
IoTHubLog.Speed   
 INTO Outputlog
FROM
    IoTHubLog  
    INNER JOIN LastInWindow
    ON DATEDIFF(second, IoTHubLog, LastInWindow) BETWEEN 0 AND 12
    AND cast( IoTHubLog.timestamp as datetime)=LastInWindow.LastEventTime  
     AND IoTHubLog.CARID = LastInWindow.CARID
    INNER JOIN InputLog
    ON DATEDIFF(second, IoTHubLog, InputLog) BETWEEN 0 AND 12
    AND  cast(IoTHubLog.timestamp as datetime)> cast( InputLog.timestamp as datetime)
    AND IoTHubLog.CARID = InputLog.CARID
    AND  InputLog.speed >   IoTHubLog.speed  

    GROUP BY 
        TumblingWindow(second, 1), IoTHubLog.CARID 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...