Oracle CQL - подсчет количества кортежей после завершения окна
Я работаю над проектом обработки событий Oracle в Oracle Stream Analytics, используя JDeveloper
,
У меня есть поток данных из 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
Я также пытался: Выберите количество (*) из потока [строки 10 слайд 10]. Однако я получаю:
0
10
Мой вопрос заключается в том, как указать запрос, который будет возвращать общее количество кортежей (для которых выполняется условие) в окне размера N, только когда поступят все N кортежей?
Спасибо.
1 ответ
Ваш второй запрос должен быть в порядке, но вы должны добавить предложение, которое будет иметь результат, только когда count равен 10.
<query id="ExampleQuery"><![CDATA[
select count(*) as total from inputChannel [rows 10 slide 10]
having count(*) = 10
]]></query>
надеюсь, это поможет