array()
그룹 내 레코드의 필드 값을 입력 순서대로 수집하여 배열로 반환합니다. null 값은 수집에서 제외됩니다. 중복된 값도 그대로 포함됩니다.
문법
array(EXPR)
매개변수
EXPR- 수집할 값을 반환하는 표현식.
설명
array() 함수는 그룹 내 레코드를 처리하면서 EXPR이 반환하는 값을 순서대로 내부 목록에 누적합니다. null 값은 누적하지 않습니다. 그룹당 최대 100개 항목을 수집하며, 100개에 도달하면 이후 값은 무시됩니다. 수집 상한값은 JVM 시스템 속성 araqne.logdb.array_capacity로 변경할 수 있습니다.
집계가 완료되면 누적된 값의 목록을 배열로 반환합니다. 동일한 값이 여러 레코드에 존재해도 모두 포함됩니다. 그룹 내 고유값만 수집하려면 values() 함수를 사용하세요.
stats, timechart 등 집계 명령어에서만 사용할 수 있습니다.
오류 코드
| 코드 | 설명 |
|---|---|
| 91020 | 인자 수가 올바르지 않습니다. |
사용 예
이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.
-
출발지 IP별로 접근한 URI 목록을 배열로 수집
table WEB_APACHE_SAMPLE | stats array(uri) by src_ip -
HTTP 메서드별로 사용된 상태 코드를 배열로 수집
table WEB_APACHE_SAMPLE | stats array(status) by method -
null 값 처리
json "[{'val': 10}, {'val': null}, {'val': 30}]" | stats array(val) | # array(val): [10, 30]
호환성
array() 함수는 로그프레소 소나 4.0 이전부터 제공되었습니다.