dc()

그룹 내 필드의 고유값 수(distinct count)를 계산합니다.

dcountdc의 별칭입니다.

문법

dc(EXPR)

매개변수

EXPR
고유값을 셀 필드를 반환하는 표현식.

설명

dc() 함수는 그룹 내 레코드를 처리하면서 EXPR이 반환하는 값을 내부 집합(HashSet)에 누적합니다. null 값은 집합에 추가하지 않습니다. 집계가 완료되면 집합의 크기, 즉 중복을 제거한 고유값의 수를 64비트 정수(long)로 반환합니다.

dc() 함수는 정확한 고유값 수를 계산합니다. 메모리 사용량이 중요하거나 근사치로 충분한 경우에는 estdc() 함수를 사용하세요.

dc() 함수는 분산 집계를 지원하지 않습니다. 분산 환경에서 정확한 고유값 수를 구해야 할 때는 한 노드에서 전체 데이터를 처리하도록 쿼리를 구성해야 합니다.

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

오류 코드

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

사용 예

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

  1. 고유 출발지 IP 수 계산

    table WEB_APACHE_SAMPLE | stats dc(src_ip)
    
  2. HTTP 메서드별 고유 URI 수 계산

    table WEB_APACHE_SAMPLE | stats dc(uri) by method
    
  3. null 값 처리

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

호환성

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