pivot

집계 함수를 실행해 피봇을 실행한 결과를 출력합니다.

문법

pivot [parallel=BOOL] AGGR_FUNC [as ALIAS], ... [by|rows GRP_FIELD, ...] [for|cols GRP_FIELD, ...]
필수 매개변수
AGGR_FUNC [as ALIAS], ...
집계 함수(AGGR_FUNC) 및 필드 이름으로 사용할 별칭(ALIAS)으로 구성된 쌍의 목록. 쉼표(,)를 구분자로 사용합니다. ALIAS는 필수가 아니지만 지정하는 것이 좋습니다. 별칭을 지정하지 않으면 count(), sum(sent_pkts)과 같은 함수 이름을 필드 이름으로 사용합니다.
선택 매개변수
parallel=BOOL
쿼리 결과를 병렬로 출력 사용 여부(기본값: f)
  • t: 쿼리 결과를 병렬로 출력. 처리 속도는 증가하지만 데이터의 순서를 보장하지 않습니다. 데이터의 순서가 중요한 쿼리문에서는 이 옵션을 사용하지 마십시오.
  • f: 쿼리 결과를 병렬로 출력하지 않음
by|rows FIELD, ...
by 또는 rows 지시자와 함께 필드를 지정하면 필드의 값을 단위로 하여 집계 함수를 적용합니다.
for|cols FIELD, ...
by 또는 rows 지시자로 지정한 필드에 대해 for 또는 cols 지시자로 지정된 필드 값을 단위로 하여 집계 함수를 적용합니다.
Note
'by|rows' 절이나 'for|cols' 절이 지정되지 않으면 이전 쿼리 명령어에서 넘어오는 전체 로그를 하나의 그룹으로 계산합니다. 그룹 필드를 기준으로 정렬되는 부수적인 효과가 있습니다.

사용 예

  1. count() 함수를 호출해 전체 행 개수를 계산

    pivot count
    
  2. count() 함수를 호출해 src_ip 필드 값의 고유 항목 당 개수를 계산

    pivot count by src_ip
    
  3. count() 함수를 호출하여 src_ipdst_ip 필드에 대해 protocol 필드 값(예: TCP, UDP, ICMP)별로 행 개수를 계산

    pivot count by src_ip, dst_ip for protocol
    
  4. src_ipdst_ip 필드에 대해 protocol 필드 값(예: TCP, UDP, ICMP)별로 행 개수(count())와 트래픽 용량(sum(bytes))을 계산

    pivot sum(bytes) as bytes, count rows src_ip, dst_ip cols protocol