2017-04-03 19 views
0

WSO2 CEP Siddhi QL에 처음 소개되었습니다. 스트림으로 들어오는 이벤트를 분석해야합니다.WSO2 CEP : Siddhi QL : 유사한 이벤트 레코드를 사용하여 고유 한 스트림 만들기

예를 들어

: 나는 데이터가이 [ID, 값]처럼오고있다 :이에서

InputStream=[1001,90] 
InputStream=[1001,85] 
InputStream=[1002,70] 
InputStream=[1001,85] 
InputStream=[1003,70] 
InputStream=[1003,85] 
InputStream=[1002,70] 
InputStream=[1003,70] 
InputStream=[1003,85] 
InputStream=[1002,70] 
InputStream=[1001,95] 
InputStream=[1001,65] 

을, 나는 ID를 기반으로 각 레코드와 그룹을 분리 1001, 1002 및 1003 기록과 만들려는 그룹화 된 각 ID에 대한 새로운 임시 스트림과 그 중 가장 높은 값을 확인하고 경고합니다. 다른 패턴과 조인을 시도했지만 정확한 해결책을 제시 할 수는 없습니다.

해결책에 대한 도움이나 도움이 있으면 크게 감사하겠습니다. 고맙습니다.

답변

0

Siddhi에서는 이벤트 값을 기반으로 새 스트림을 만들 수 없습니다. 그러나 귀하의 요구 사항은 ID를 기반으로 그룹을 만들고 각 그룹의 최고 가치를 경고하는 것이기 때문에. 우리는 단일 출력 스트림으로이를 달성 할 수있었습니다. 우리가해야 할 일은 창 (시간 또는 길이 창)을 일정 기간 유지 한 다음 ID로 그룹화하고 max (temp)를 선택하고 경고 스트림에 삽입하는 것입니다. 다음 샘플 siddhi 쿼리를 참조하십시오.

from TempStream#window.time(2 min) 
select max(temp) as highestTemperature 
group by id 
insert into alertStream; 
+0

Tharik. 이것에서 내가보고있는 것은 Siddhi에 있습니다. 시도와 마찬가지로 입력과 동일한 레코드 스트림을 만듭니다. 우리는 그룹을 속성별로 제공했지만 그룹화가 발생하지는 않습니다. 그래서 우리는 입력 스트림에서 각 이벤트의 값으로 임시 스트림을 만들 수 없다고 말하고 있습니까? 나는 위의 샘플을 1001, 1002 등의 레코드를 포함하는 이벤트와 분리 할 수 ​​없다는 것을 의미합니까? – Kannan