boxplot
상자 그림(box plot)을 그리는 데 필요한 최솟값, 최댓값, 사분위수를 계산합니다. 선택적으로 그룹별로 나누어 통계를 구할 수 있습니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 가공 쿼리 |
| 필요 권한 | 없음 |
| 라이선스 사용량 | 해당 없음 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 분석 노드에서 실행 (reducer) |
문법
boxplot EXPR [by FIELD, ...]
대상
EXPR- 통계 대상이 되는 계산 수식. 수식의 결과가 null인 레코드는 무시합니다.
[by FIELD, ...]- 그룹 필드. 쉼표(
,)로 구분하여 여러 필드를 지정할 수 있습니다.by절을 지정하면 그룹 필드 값이 같은 레코드별로 독립적으로 상자 그림 통계를 계산합니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| min | 숫자 | 그룹별 최솟값 |
| iqr1 | 숫자 | 그룹별 제1사분위수 (Q1). 전체 데이터 중 하위 25% 지점의 값 |
| iqr2 | 숫자 | 그룹별 제2사분위수 (Q2, 중앙값). 전체 데이터 중 50% 지점의 값 |
| iqr3 | 숫자 | 그룹별 제3사분위수 (Q3). 전체 데이터 중 상위 25% 지점의 값 |
| max | 숫자 | 그룹별 최댓값 |
| count | 정수 | 그룹별 레코드 수 |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 20000 | 불완전한 표현식입니다 | by 절의 그룹 필드가 쉼표로 끝나는 등 문법이 불완전한 경우 |
| 20001 | 입력된 표현식 값이 없습니다 | 통계 대상 수식이 지정되지 않은 경우 |
런타임 오류
해당 사항 없음
설명
boxplot 명령어는 입력된 모든 레코드를 수집한 후 지정한 수식의 값을 기준으로 정렬하여 최솟값, 최댓값, 사분위수를 계산합니다. by 절을 사용하면 그룹 필드 값이 같은 레코드끼리 독립적으로 통계를 계산합니다.
수식의 결과가 null인 레코드는 통계에서 제외됩니다. 출력 레코드에는 min, iqr1, iqr2, iqr3, max, count 필드가 포함되며, by 절을 지정한 경우 해당 그룹 필드도 함께 출력됩니다.
분산 환경에서는 분석 노드에서 최종 계산을 수행합니다.
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
전송 바이트의 전체 분포 통계
table WEB_APACHE_SAMPLE | boxplot bytesbytes필드의 최솟값, 최댓값, 사분위수를 계산합니다. -
HTTP 메서드별 전송 바이트 분포
table WEB_APACHE_SAMPLE | boxplot bytes by methodmethod필드 값이 같은 그룹별로bytes필드의 최솟값, 최댓값, 사분위수를 계산합니다. -
일자별 전송 바이트 분포
table WEB_APACHE_SAMPLE | eval day = string(_time, "yyyy-MM-dd") | boxplot bytes by dayday필드 기준으로 그룹을 나누어bytes필드의 상자 그림 통계를 계산합니다.
호환성
boxplot 명령어는 소나 4.0 이전 버전부터 제공되었습니다.