2017-02-01 5 views
0

WSO2 CEP 4.2.0을 배우려고합니다. Siddhi 쿼리에 문제가 있습니다.WSO2 CEP : siddhi 쿼리 내 rdms 테이블에서 쿼리 할 수 ​​있습니까?

이벤트 처리에 다른 시스템 rdbms 테이블의 데이터를 사용하여 가져올 수 있습니까? WSO2 CEP 문서에서 이벤트 테이블에 대해 알아 냈지만 필요한 것은 아닙니다.

시나리오는 다음과 같습니다. 차량에서 추적 데이터를 받기 위해 WSO2 CEP를 사용합니다. 지리 정보 분석 프로세스 (지오 펜싱, 속도 제한) 및 서비스 분석을 수행하기 위해 해당 데이터 스트림을 사용합니다. 서비스 분석 프로세스의 경우 다른 시스템에서 트랜잭션 데이터 테이블을 조회해야합니다.

감사합니다.

+0

테이블 액세스 요구 사항을 설명 할 수는 없으므로 왜 이벤트 테이블을 사용할 수 없습니까? – Dilini

+0

안녕하세요 @ 딜리니, 내 요구 사항을 보여주기 위해 제 질문을 수정했습니다. 감사. – Dfirmansyah

+0

주어진 정보에서 이벤트 표를 사용하여 요구 사항을 달성 할 수있는 것처럼 보입니다. 이벤트와 테이블 사이에''join ''을하여 테이블을 검색 할 수 있습니다. * Join * 섹션 (https://docs.wso2.com/display/CEP420/SiddhiQL+Guide+3.1#SiddhiQLGuide3.1-Eventtable)을 참조하십시오. – Dilini

답변

2

주어진 정보에서 이벤트 테이블을 사용하여 요구 사항을 달성 할 수있는 것처럼 보입니다. 이벤트와 테이블 간의 조인을 수행하여 테이블을 조회 할 수 있습니다. Join 섹션 (Siddhi Query Language guide)을 참조하십시오.

JOIN 작업을 이벤트 테이블과 함께 사용하는 방법에 대한 예제는 Sample 0106 - Using in-memory event tables을 참조하십시오. 샘플로서 아래 메모리 이벤트 테이블을 정의했지만

** ... 테이블 CardUserTable 정의

(이름 문자열을 cardNum 문자열, 불리언 블랙리스트);

... @From 주석을 넣어서이 정의를 RDBMS 이벤트 테이블로 변경할 수 있습니다. 예 :

@From (eventtable = 'RDBMS'datasource.name = 'CardTableDatasource' table.name = 'CardData') 테이블 CardUserTable 정의 (이름 문자열 cardNum 문자열을 블랙리스트 BOOL);

@From 주석 요소는 Siddhi 락 문서에 RDBMS event table 섹션에서 설명되고있다.