Справочные данные объединяются на входе потоковой аналитики, не давая выходных данных - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь установить правило в задании Azure Stream Analytics с использованием справочных данных и входного потока, поступающего из концентратора событий.

Это мой JSON-пакет справочных данных в хранилище больших двоичных объектов:

{
    "ruleId": 1234, 
    "Tag" : "TAG1", 
    "metricName": "velocity", 
    "alertName": "velocity over 500",
    "operator" : "AVGGREATEROREQUAL",
    "value": 500
}

А вот запрос преобразования в задании потоковой аналитики:

WITH
transformedInput AS
(
    SELECT
        metric = GetArrayElement(DeviceInputStream.data,0),
        masterTag = rules.Tag, 
        ruleId = rules.ruleId, 
        alertName = rules.alertName,
        ruleOperator = rules.operator, 
        ruleValue = rules.value
    FROM 
        DeviceInputStream
        timestamp by EventProcessedUtcTime
    JOIN 
        rules
        ON DeviceInputStream.masterTag = rules.Tag
)
--rule output--
SELECT
    System.Timestamp as time,
    transformedInput.Tag as Tag,
    transformedInput.ruleId as ruleId,
    transformedInput.alertName as alert,
    AVG(metric.velocity) as avg
    INTO
    alertruleblob
FROM
    transformedInput
GROUP BY
    transformedInput.masterTag,
    transformedInput.ruleId,
    transformedInput.alertName,
    ruleOperator, 
    ruleValue, 
    TumblingWindow(second, 6)
HAVING
    ruleOperator = 'AVGGREATEROREQUAL' AND avg(metric.velocity) >= ruleValue

Это не дает никаких результатов. Тем не менее, когда я делаю тест с вводом образца и справочными данными, я получаю ожидаемые результаты. Но похоже, что это не работает с потоковыми данными. Мой вариант использования, если средняя скорость больше 500 для 6-секундного окна, сохраните, что приведет к другому хранилищу BLOB-объектов. Значение скорости было больше 500, но я не получаю никаких результатов.

Что я делаю не так?

1 Ответ

0 голосов
/ 06 сентября 2018

Это работало все время. Мне просто нужно было указать путь ввода контрольного двоичного объекта в контрольном пути ввода аналитики потока, включая имя файла. Я в основном ссылался только на контейнер BLOB-объектов без реального файла. Поэтому, когда я изменил шаблон пути на «filename.json», я получил результаты. Это была глупая ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...