непрерывный поток вывода

Можно ли получить непрерывный поток вывода с помощью streaminsight? Моя проблема в том, что когда я делаю запрос во входном потоке с окном прыжков/переворотов, запрос не дает мне никакого вывода, когда нет входных событий. Это звучит нормально, но можно ли получить оконный механизм, который выводит данные каждые 5 секунд даже при отсутствии входных событий?

это мой код, возможно, после этого проблема станет ясной:

var inputStream = CepStream<ServiceBusMessage>.Create("Inputstream Portal Orders");

// Counts the number of messages in a window of 5 seconds
var countStream = from w in inputStream.TumblingWindow(outputConfig.windowSize)
                  select w.Count();

var queryTemplate = app.CreateQueryTemplate("Count Window Portal Orders", "des...", countStream);

var queryBinder = new QueryBinder(queryTemplate);
queryBinder.BindProducer<ServiceBusMessage>("Inputstream Portal Orders", inputAdapter, config, EventShape.Point);

// Just an simple outputadapter
queryBinder.AddConsumer<long>("output", outputAdapter, outputConfig, EventShape.Point, StreamEventOrder.ChainOrdered);

var query = app.CreateQuery("Counter portal orders", "des...", queryBinder);

query.Start();

Вывод, который я хочу, чтобы сказать этот ввод:

example input
input time 1: x
input time 2: x
input time 6: x
input time 16: x

expecting output:
2 events in last 5 seconds
1 events in last 5 seconds
0 events in last 5 seconds
1 events in last 5 seconds

Надеюсь, что этот оконный механизм возможен в рамках streaminsight, я погуглил много вещей, прочитал руководство для разработчиков, но заметил, что обрабатывает спорный вывод или что-то подобное. Надеюсь, кто-нибудь может мне помочь!


person Carlo    schedule 01.04.2013    source источник


Ответы (1)


Не существует оконных механизмов с желаемым поведением.

Как вы используете вывод? Возможно, есть другой способ решить проблему.

person TXPower275    schedule 02.04.2013
comment
Я нахожусь на этапе обучения с помощью streaminsight, поэтому мои выходные данные предназначены только для отладки в моей консоли, но в будущем я соединим с ней другую систему, которой нужны выходные данные для расчета прогноза текущих значений. Я думал записать данные в файл csv, чтобы другая система могла прочитать последние значения из этого файла. Но когда нет событий из-за оконных механизмов, файл не актуален. Связанная система будет работать с системой интеллектуального анализа данных, такой как нейронная сеть или машина опорных векторов. - person Carlo; 03.04.2013
comment
Я думал о том, чтобы вставить фиктивные события, чтобы окно считало все время, и отфильтровать эти фиктивные события после того, как у меня появилось окно подсчета. Спасибо за вашу помощь - person Carlo; 03.04.2013
comment
У ваших событий есть время начала и окончания, которые определяют, действительно ли событие. Можно с уверенностью сказать, что если в момент времени, на который вы смотрите, нет действительного события, счет для этого времени, очевидно, равен нулю. - person TXPower275; 03.04.2013
comment
Если вы записываете вывод в файл и ожидаете новое значение счетчика каждые 5 секунд, вы можете использовать свой выходной адаптер/приемник для записи отсутствующих нулевых значений. - person TXPower275; 03.04.2013