Объединить атрибуты из двух потоков в сиддхи - PullRequest
1 голос
/ 30 сентября 2019

Мое намерение - объединить атрибуты из двух потоков в siddhi.

Я использую атрибут "join" с атрибутом окна, чтобы объединить два потока в моем запросе siddhi и ввести результат объединения в другой поток. чтобы обогатить его.

Атрибуты окна (window.time (1 сек) или window.length (1)) хорошо работают, когда поступающие события приходят с регулярным интервалом в 1 сек или более.

Когда (скажем, например, 10 или 100) события отправляются одновременно (в течение секунды). Тогда результат объединения не в ожидаемых условиях.

from EventInputStreamOne#window.time(1 sec) as i
        join EventInputStreamTwo as s
        on i.variable2 == s.variable2
select i.variable1 as variable1, i.variable2 as variable2, s.variable2 as variable2
insert into EventOutputStream;

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

1 Ответ

0 голосов
/ 09 октября 2019

Можете ли вы подробнее рассказать о том, что вы имели в виду

Тогда результат объединения не соответствует ожидаемым.

Какой поток EventInputStreamOne или EventInputStreamTwo получаетсобытия с более высокой скоростью.

В соответствии с вашим приложением Siddhi, события поступают в EventInputStreamOne поток в 1сек будет сравниваться с каждым событием из EventInputStreamTwo и соответствующие события будут выводиться в EventOutputStream .

Если вы хотите сравнить события, приходящие на EventInputStreamOne и EventInputStreamTwo в пределах1 с, также есть временное окно 1 с при EventInputStreamTwo .

Для получения дополнительной информации см. Документацию Сиддхи о соединениях .

...