를 사용하여 이벤트의 연속 값의 값을 선택할 수 있고, 그 데이터이다 : 하나 ID이다는 어떻게 예 Siddhi 락
1,1470732420000,0
2,1470732421000,0
3,1470732422000,0
4,1470732423000,86
5,1470732424000,87
6,1470732425000,88
7,1470732426000,84
8,1470732427000,0
9,1470732428000,0
10,1470732429000,0
11,1470732430000,89
12,1470732431000,89
13,1470732432000,87
14,1470732433000,89
15,1470732434000,85
16,1470732435000,89
17,1470732436000,89
18,1470732437000,87
19,1470732438000,86
20,1470732439000,88
21,1470732440000,0
22,1470732441000,0
23,1470732442000,0
24,1470732443000,87
25,1470732444000,85
26,1470732445000,86
27,1470732446000,0
28,1470732447000,0
29,1470732448000,0
30,1470732449000,0
열 열 두 소인이며, 열 세 값은, 타임 스탬프 사이에 1 초 간격.
값이 85 이상 (예 : id = 4) 인 경우 다음 두 연속 값> = 85 인 경우 계산을 시작합니다 (예 : id = 5/id = 6).), 그리고 나서 OutputStream에 이벤트의 세 번째 값을 넣을 것입니다 (예 : id = 6, value = 88, timestamp = 1470732425000)
동시에 카운팅을 지우고 대기 값을 85보다 낮추십시오 (예 : id = 7, 값 = 84), 다음 값을 찾으면 다시 모니터링 할 것입니다. = 85 (예 : id = 11, value = 89) 다음 두 연속 값> = 85 일 경우 계산을 시작합니다 (예 : id = 12/id = 13), 그러면 이벤트의 세 번째 값을 OutputStream에 넣습니다 (예 : id = 13, value = 87, timestamp = 1470732432000) ...
이 모든 것이 내가 원하는 것입니다. 나는이 질문 게시 재, 내가 this post에서 답을 가지고, 나는이 코드를 시도했다 :
from every a1=InputStream[value>=85], a2=InputStream[value>=85]+, a3=InputStream[value<85]
select a2[1].id, a2[1].value
having (not (a2[1] is null))
insert into OutPutStream;
을 그리고 그것은 작동하지만, 내가 그것을 값 이후의 OutputStream에 값을 삽입합니다 발견 < = 85 , 그리고 내가 원하는 것은 내가 3 개의 연속적인 값> = 85를 얻은 후 바로 값에 삽입하는 것입니다. (다음 값이 = 85이면 항상 기다리고 싶지 않습니다.) 사실, 저는 그냥 녹음하고 싶습니다. 세 번째 연속 초 값 (> = 85)에서 세 번째 초 값. 나는 wso2das-3.1.0-SNAPSHOT을 사용하고 있습니다.
매번 3 번 연속 이벤트를 모니터링 하시겠습니까? –
쿼리는 원하는 출력 종류에 따라 다릅니다. 주어진 예제에 대해 원하는 답변을 친절하게 지정할 수 있습니까? ID로 6, 13 및 26을 출력하려는 경우 (값 <85)의 중간 이벤트 지정 또는 기타 다른 이유로 인해) –