다음 형식으로 시뮬레이션에서 데이터를 수신합니다 : 당분간 Street 7에서 Street으로가는 두 대의 자동차가 있음을 볼 수 있듯이 11 (움직임을 모니터링하기 위해 센서가 배치 된 수많은 구역을 가로 질러).혼잡 제어 Esper 쿼리 언어를 사용하여 도로에있는 차량에 대한 쿼리
이제 자동차 # 1과 자동차 # 2의 최신 시간차가 3 초 이하일 때 신호를 멈추고 싶습니다. 어떻게 에스페셜 쿼리 언어로 그렇게 할 수 있습니까? 위의 조건이 충족되는 즉시 이벤트를 생성 할 수있는 복잡한 이벤트 처리를위한 쿼리를 작성해야합니다. 처음부터 차 # 1이 거리 # 7에 진입하는 시간은 42500이며, 차 # 2가 도로 # 7에 진입 할 때는 시간이 42508인데 8 초의 시간차가 있음을 데이터에서 알 수 있습니다.
{ time: 42500,
location: { Zone: 'Z3', Street: 'Street#7' },
carID: 'car#1' }
---------------------------------------
{ time: 42502,
location: { Zone: 'Z5', Street: 'Street#7' },
carID: 'car#1' }
---------------------------------------
{ time: 42502,
location: { Zone: 'Z1', Street: 'Street#8' },
carID: 'car#1' }
---------------------------------------
{ time: 42504,
location: { Zone: 'Z4', Street: 'Street#8' },
carID: 'car#1' }
---------------------------------------
{ time: 42505,
location: { Zone: 'Z5', Street: 'Street#8' },
carID: 'car#1' }
---------------------------------------
{ time: 42505,
location: { Zone: 'Z1', Street: 'Street#9' },
carID: 'car#1' }
---------------------------------------
{ time: 42507,
location: { Zone: 'Z4', Street: 'Street#9' },
carID: 'car#1' }
---------------------------------------
{ time: 42508,
location: { Zone: 'Z3', Street: 'Street#7' },
carID: 'car#2' }
---------------------------------------
{ time: 42508,
location: { Zone: 'Z5', Street: 'Street#9' },
carID: 'car#1' }
---------------------------------------
{ time: 42508,
location: { Zone: 'Z1', Street: 'Street#10' },
carID: 'car#1' }
---------------------------------------
{ time: 42509,
location: { Zone: 'Z4', Street: 'Street#10' },
carID: 'car#1' }
---------------------------------------
{ time: 42509,
location: { Zone: 'Z5', Street: 'Street#7' },
carID: 'car#2' }
---------------------------------------
{ time: 42509,
location: { Zone: 'Z1', Street: 'Street#8' },
carID: 'car#2' }
---------------------------------------
{ time: 42511,
location: { Zone: 'Z5', Street: 'Street#10' },
carID: 'car#1' }
---------------------------------------
{ time: 42511,
location: { Zone: 'Z1', Street: 'Street#11' },
carID: 'car#1' }
---------------------------------------
{ time: 42511,
location: { Zone: 'Z4', Street: 'Street#8' },
carID: 'car#2' }
---------------------------------------
{ time: 42512,
location: { Zone: 'Z4', Street: 'Street#11' },
carID: 'car#1' }
---------------------------------------
{ time: 42512,
location: { Zone: 'Z5', Street: 'Street#8' },
carID: 'car#2' }
---------------------------------------
{ time: 42512,
location: { Zone: 'Z1', Street: 'Street#9' },
carID: 'car#2' }
---------------------------------------
{ time: 42513,
location: { Zone: 'Z5', Street: 'Street#11' },
carID: 'car#1' }
---------------------------------------
{ time: 42513,
location: { Zone: 'Z1', Street: 'Street#12' },
carID: 'car#1' }
---------------------------------------
안녕하세요, 도움을 주셔서 감사합니다. 그러나 차 # 1과 차 # 2가 동적 ID 인 것처럼, 단 한 가지 더 힌트가 필요합니다. 어떻게 그 차를 선택할 수 있습니까 ??? 나는 특별히 하드 코딩을하고 싶지 않다. – Umer
CarEvent.win:time_length_batch(10, 100)에서 고유 한 CarID를 선택하십시오. 이 질문에 어떻게 대답할까요? – Umer
select * from CarEvent.win:length(20) CARS, CarEvent.win:length(20) CARS_COPY로 CARS.CARID! = CARS_COPY.CARID AND (CARS.Location.Street = CARS_COPY.Location.Street AND Math. abs (CARS.time-CARS_COPY.time)> 3) ??? – Umer