2016-08-09 12 views
0

Я работаю над проектом обработки событий Oracle в Oracle Stream Analytics с использованием JDeveloper.Oracle CQL - подсчет количества кортежей после завершения окна

У меня есть поток данных 20 кортежей в виде:

(attr1,attr2,attr3) 

1,1,1 

2,2,2 

.... 

20,20,20 

Я хочу, чтобы подсчитать количество кортежей в каждом окне (я добавить условие позже рассчитывать только кортежи, которые не содержат нулевые значения). Нужный выход:

10 

10 

Я попробовал: Выберите счетчик (*) из потока [строк 10]. Тем не менее, я получаю:

0 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

Я также попытался: Select COUNT (*) из потока [10 строк слайд 10]. Однако я получаю:

0 

10 

Мой вопрос заключается в том, чтобы указать запрос, который возвращает общее количество кортежей (для которых условие выполнено) в окне размера N только тогда, когда все N кортежи прибывают?

спасибо.

ответ

0

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

<query id="ExampleQuery"><![CDATA[ 
    select count(*) as total from inputChannel [rows 10 slide 10] 
    having count(*) = 10 
    ]]></query> 

enter image description here

надеюсь, что это может помочь.