array()

그룹 내 레코드의 필드 값을 입력 순서대로 수집하여 배열로 반환합니다. null 값은 수집에서 제외됩니다. 중복된 값도 그대로 포함됩니다.

문법

array(EXPR)

매개변수

EXPR
수집할 값을 반환하는 표현식.

설명

array() 함수는 그룹 내 레코드를 처리하면서 EXPR이 반환하는 값을 순서대로 내부 목록에 누적합니다. null 값은 누적하지 않습니다. 그룹당 최대 100개 항목을 수집하며, 100개에 도달하면 이후 값은 무시됩니다. 수집 상한값은 JVM 시스템 속성 araqne.logdb.array_capacity로 변경할 수 있습니다.

집계가 완료되면 누적된 값의 목록을 배열로 반환합니다. 동일한 값이 여러 레코드에 존재해도 모두 포함됩니다. 그룹 내 고유값만 수집하려면 values() 함수를 사용하세요.

stats, timechart 등 집계 명령어에서만 사용할 수 있습니다.

오류 코드

코드설명
91020인자 수가 올바르지 않습니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 출발지 IP별로 접근한 URI 목록을 배열로 수집

    table WEB_APACHE_SAMPLE | stats array(uri) by src_ip
    
  2. HTTP 메서드별로 사용된 상태 코드를 배열로 수집

    table WEB_APACHE_SAMPLE | stats array(status) by method
    
  3. null 값 처리

    json "[{'val': 10}, {'val': null}, {'val': 30}]"
    | stats array(val)
    | # array(val): [10, 30]
    

호환성

array() 함수는 로그프레소 소나 4.0 이전부터 제공되었습니다.