stream
쿼리 시작 시점부터 지정한 시간 동안 실시간으로 스트림 쿼리의 출력을 수신합니다. 쿼리가 실행되는 동안 스트림 쿼리의 출력이 없으면 빈 결과를 반환합니다. 이 명령어는 관리자 권한이 필요합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 또는 가공 쿼리 |
| 필요 권한 | 관리자 권한 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 지원 |
| 분산 실행 | 미지원 |
문법
스트림 출력을 실시간으로 수신하려면
stream window=INT{s|m|h|d|mon} STREAM_NAME [, STREAM_NAME ...]
입력 레코드를 스트림으로 전달하려면
stream forward=t STREAM_NAME [, STREAM_NAME ...]
옵션
window=INT{s|m|h|d|mon}- 쿼리 시작 시점부터 스트림 출력을 수신할 시간.
s(초),m(분),h(시),d(일),mon(월) 단위를 사용합니다.window옵션과forward옵션은 함께 사용할 수 없습니다. forward=t- 입력 레코드를 지정한 스트림에 전달하는 가공 쿼리 모드.
true로 설정하면 드라이버 쿼리 대신 가공 쿼리로 동작하여 이전 명령어의 출력을 스트림에 전달합니다.
대상
STREAM_NAME [, STREAM_NAME ...]- 스트림 이름. 쉼표(
,)로 구분하여 여러 스트림을 지정할 수 있습니다. 와일드카드(*)를 사용하여 이름 패턴으로 여러 스트림을 지정할 수 있습니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
_stream | 문자열 | 스트림 이름 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| - | no-read-permission | 관리자 권한이 없는 경우 |
| - | missing-window-option | window 옵션과 forward 옵션 모두 지정되지 않은 경우 |
| 11600 | stream-not-found | 지정된 이름과 일치하는 스트림이 존재하지 않는 경우 |
런타임 오류
해당 사항 없음
설명
stream 명령어는 두 가지 동작 모드를 지원합니다.
window 옵션을 사용하면 드라이버 쿼리로 동작합니다. 쿼리 시작 시점부터 지정한 시간 동안 실시간으로 스트림 쿼리의 출력을 수신합니다. 스트림의 이름이 _stream 필드로 출력됩니다.
forward=t 옵션을 사용하면 가공 쿼리로 동작합니다. 이전 명령어의 출력 레코드를 지정한 스트림으로 전달하면서 다음 명령어로도 그대로 전달합니다.
스트림 이름에는 와일드카드(*)를 사용하여 이름 패턴으로 여러 스트림을 지정할 수 있습니다. 지정한 이름이나 패턴과 일치하는 스트림이 하나도 없으면 파싱 시점에 오류가 발생합니다.
사용 예
-
스트림 출력을 1분 동안 수신
stream window=1m my_streammy_stream스트림의 출력을 1분 동안 실시간으로 수신합니다. -
와일드카드로 여러 스트림 수신
stream window=30s alert_*이름이
alert_로 시작하는 모든 스트림의 출력을 30초 동안 수신합니다. -
입력 레코드를 스트림으로 전달
table duration=1h WEB_APACHE_SAMPLE | stream forward=t my_stream | stats count by src_ipWEB_APACHE_SAMPLE테이블에서 조회한 레코드를my_stream스트림으로 전달하면서 동시에 다음 명령어로도 전달합니다.
호환성
stream 명령어는 소나 4.0 이전 버전부터 제공되었습니다.