2016-10-14 2 views
0

У меня возникла проблема с моей работой в службе Stream Analytics. Я вытягиваю события из концентратора IoT и группирую их в timewindows на основе их собственных временных меток; Я уже написал запрос, который делает это правильно. Но проблема в том, что он просто ничего не пишет в моей выходной таблице (являющейся таблицей NoSQL на моей учетной записи хранилища).Stream Analytics Запрос работает, но нет вывода в таблицу

Запрос выполняется без проблем в редакторе запросов (при тестировании с помощью примерного входного файла) и производит правильный вывод, но при запуске «для реального» он ничего не выводит (выходная таблица остается пустой). Я даже попробовал переименовать таблицу и вывести ее в хранилище blob, но без кубиков. Вот запрос:

SELECT 
    'general' AS partitionKey, 
    MIN(ID_frame) AS rowKey, 
    DATEADD(second, 1, DATEADD(hour, -3, System.TimeStamp)) AS window_start, 
    System.TimeStamp AS window_end, 
    COUNT(ID_frame) AS device_count 
INTO 
    [IoT-Hub-output-table] 
FROM 
    [IoT-Hub-input] TIMESTAMP BY custom_timestamp 
GROUP BY TumblingWindow(Duration(hour, 3), Offset(second, -1)) 

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

ответ

1

Выводит вопрос сделал вывод в мой стол, но с задержкой, которую я не ожидал; Я ждал 20-30 минут при макс. в то время как первые вставки начнутся через немного позднее, чем через полчаса. Таким образом, я отменял работу Analytics до того, как был выпущен какой-либо вывод, и ложно предполагая, что это ничего не выдаст.

Я нашел, что это был случай. Я заметил, что «иногда» (когда работа работала достаточно долго), как представляется, был некоторый выход. И в этих выходных записях я заметил большую задержку между моим пользовательским полем timestamp и общим полем timestamp (которое движок использует, чтобы помнить, когда объект был обновлен в последний раз)

1

Поскольку вы используете TumblingWindow 3 часа, это означает, что вы получите один вывод каждые 3 часа, который содержит совокупность всех событий за этот период.

Так вы уже ждали 3 часа для создания первого выхода?

Я попытался бы установить меньшее окно и повторить попытку, чтобы убедиться, что выход работает правильно.

+0

Тогда почему я получаю немедленный результат при тестировании это в редакторе запросов? BTW, изначально я тестировал этот запрос с гораздо меньшими окнами (например, 5-30 секунд), однако, как и в случае с более крупной версией окна, он дал правильный результат в тесте запроса, но ничего не писал в таблицу после того, как он был действительно работает – Giorgi

Смежные вопросы