Запрос Azure Stream Analytics для ввода одной строки данных в Azure SQL - PullRequest
0 голосов
/ 25 мая 2018

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

SELECT  
* 
INTO
    myazuredb
FROM 
    mystreamin 

, за исключением того, что каждый раз, когда берется образец датчика, потоковая аналитика создает примерно около 60 сообщений, которые являются всемито же самое и вставляет их в базу данных.Я хотел бы, чтобы только 1 строка для каждого образца была вставлена ​​на основе даты TIMESTAMP, которые все идентичны.Моей первой мыслью было попробовать GROUP BY, но после некоторого прочтения о Stream Analytics Query Language я попробовал.

SELECT CollectTop(1) OVER (ORDER BY Date ASC) as Date  
INTO
    myazuredb
FROM 
    mystreamin TIMESTAMP BY Time
GROUP BY Date, TumblingWindow(second, 60)

Этот запрос ничего не вставляет, не уверен, что я даже на правильном пути.Любые идеи о том, как подойти к проблеме, было бы здоровоТаблица: Дата, Идентификатор устройства, Температура, Влажность, Влага, EventProcessedUtcTime, PartitionId, EventEnqueuedUtcTime, IoTHub, EventID

1 Ответ

0 голосов
/ 01 июня 2018
SELECT TopOne() OVER (ORDER BY Date ASC) as Date
INTO
myazuredb
FROM mystreamin TIMESTAMP BY Time
GROUP BY Date, TumblingWindow(second, 60)

TopOne () возвращает верхнюю запись на основе порядка.

...