setq
서브쿼리를 실행하고 첫 번째 레코드의 필드-값 쌍을 쿼리 매개변수로 설정합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
setq [ SUBQUERY ]
SUBQUERY- 대괄호(
[ ]) 안에 입력하는 쿼리문. 이 서브쿼리의 첫 번째 레코드가 매개변수로 설정됩니다.
입력 필드
없음
출력 필드
없음 (입력 레코드를 변경 없이 전달)
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 90204 | '['가 짝이 맞지 않습니다. | 대괄호가 짝이 맞지 않는 경우 |
| 90206 | 서브 쿼리가 없습니다. | 서브쿼리가 지정되지 않았거나 비어 있는 경우 |
런타임 오류
| 오류 코드 | 메시지 | 설명 | 후처리 동작 |
|---|---|---|---|
| — | setq cannot be used behind the driver command. | 드라이버 쿼리 뒤에 setq를 배치한 경우 | 쿼리 실행을 중단합니다. |
설명
setq 명령어는 서브쿼리를 실행하고, 첫 번째 레코드에 포함된 모든 필드-값 쌍을 쿼리 매개변수로 설정합니다. 서브쿼리가 여러 레코드를 반환하더라도 첫 번째 레코드만 사용하고, 나머지는 무시합니다.
setq서브쿼리는 전체 쿼리의 다른 모든 명령어보다 먼저 실행됩니다.- 여러 개의
setq명령어가 있으면 순차적으로 실행됩니다. setq명령어 뒤에 드라이버 쿼리를 배치해야 합니다.setq는 입력 레코드를 받을 수 없습니다.- 설정된 매개변수는 $() 함수로 참조할 수 있습니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
웹 로그에서 가장 많이 요청된 URI를 추출하여 매개변수로 설정
setq [ table WEB_APACHE_SAMPLE | stats count by uri | sort -count | limit 1 | fields uri ] | table WEB_APACHE_SAMPLE | search uri == $("uri") | fields _time, src_ip, method, status, bytesWEB_APACHE_SAMPLE테이블에서 요청 건수가 가장 많은 URI를 서브쿼리로 조회하여uri매개변수로 설정하고, 이후 해당 URI에 대한 전체 요청 목록을 조회합니다. -
테이블에서 최근 값을 조회하여 매개변수로 설정
setq [ table limit=1 sys_cpu_logs | eval threshold=long(avg_idle * 0.5) | fields threshold ] | table duration=1d sys_cpu_logs | search avg_idle < $("threshold")sys_cpu_logs테이블에서 최근 레코드의 유휴율을 기준으로 임곗값을 계산하고, 해당 임곗값 미만인 레코드를 조회합니다.
호환성
setq 명령어는 소나 4.0 이전 버전부터 제공되었습니다.