sort

지정한 필드를 기준으로 레코드를 정렬합니다. 필드 이름 앞에 - 기호를 붙이면 내림차순으로, + 기호 또는 기호 없이 오름차순으로 정렬합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행분석 노드에서 실행 (reducer)

문법

sort [limit=INT] [+|-]FIELD [{+|-}null], ... [by FIELD, ...]

옵션

limit=INT
정렬 결과에서 출력할 최대 레코드 수

대상

[+|-]FIELD [{+|-}null]
정렬 기준 필드. 쉼표(,)로 구분하여 여러 필드를 지정할 수 있습니다.
  • + 또는 부호 없음: 오름차순 (기본값)
  • -: 내림차순
  • +null: null 값을 앞에 배치
  • -null: null 값을 뒤에 배치

null 순서를 지정하지 않으면 정렬 방향의 기본 순서가 적용됩니다.

[by FIELD, ...]
파티션 필드. by 절을 지정하면 파티션 필드 값이 같은 그룹별로 독립적으로 정렬합니다. limit 옵션과 함께 사용하면 각 그룹에서 상위 N개의 레코드를 추출할 수 있습니다.

입력 필드

없음

출력 필드

없음 (입력 레코드를 변경 없이 전달)

오류 코드

파싱 오류
오류 코드메시지설명
21600정렬할 필드명을 입력하십시오.정렬할 필드가 지정되지 않은 경우
21601by절에 필드명들을 콤마로 구분하여 올바르게 입력하십시오.by 절의 문법이 잘못된 경우
21602limit 값이 유효하지 않습니다.limit 값이 0 이하인 경우
21603정렬 필드명이 잘못되었습니다.필드 이름에 공백이 포함된 경우
런타임 오류

해당 사항 없음

설명

sort 명령어는 모든 입력 레코드를 수집한 후 지정한 필드 기준으로 정렬하여 출력합니다. 여러 필드를 기준으로 지정하면 첫 번째 필드 값이 같을 때 두 번째 필드 기준으로 정렬합니다. 중복된 정렬 키는 자동으로 제거됩니다.

by 절을 사용하면 파티션 필드 값이 같은 그룹별로 독립적으로 정렬합니다. limit과 함께 사용하면 각 그룹에서 상위 N개의 레코드를 추출할 수 있습니다.

분산 환경에서는 분석 노드에서 최종 정렬을 수행합니다.

limit 옵션을 지정한 경우 값에 따라 내부 알고리즘이 달라집니다. by 절 없이 사용할 때 limit 값이 10,000 이하이면 Top-N 알고리즘(TopSelector)으로 메모리 내에서 처리하고, 이를 초과하면 ParallelMergeSorter로 정렬합니다. by 절을 함께 사용하면 limit 값이 100 이하일 때 파티션별 Top-N 최적화를 적용합니다. 정렬 대상 레코드가 100,000건을 초과하면 중간 결과를 디스크에 플러시합니다.

사용 예

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

  1. 단일 필드 오름차순 정렬

    table WEB_APACHE_SAMPLE
    | sort status
    

    status 필드(HTTP 상태 코드)를 기준으로 오름차순 정렬합니다.

  2. 단일 필드 내림차순 정렬

    table WEB_APACHE_SAMPLE
    | sort -bytes
    

    bytes 필드(응답 크기)를 기준으로 내림차순 정렬합니다. 응답 크기가 큰 요청을 먼저 확인할 때 유용합니다.

  3. 정렬 후 상위 N건 추출

    table WEB_APACHE_SAMPLE
    | sort limit=10 -bytes
    

    bytes 필드 기준 내림차순으로 정렬하여 응답 크기 상위 10건을 추출합니다.

  4. 여러 필드 기준 정렬

    table WEB_APACHE_SAMPLE
    | sort method, -bytes
    

    method 필드를 오름차순으로, 같은 메소드 내에서는 bytes 필드를 내림차순으로 정렬합니다.

  5. 그룹별 상위 N건 추출

    table WEB_APACHE_SAMPLE
    | sort limit=5 -bytes by method
    

    HTTP 메소드(method) 값이 같은 그룹별로 bytes 기준 내림차순 정렬하고, 각 그룹에서 상위 5건을 추출합니다.

  6. null 순서 지정

    table WEB_APACHE_SAMPLE
    | sort referer +null
    

    referer 필드를 오름차순으로 정렬하되 null 값(리퍼러 없음)을 앞에 배치합니다.

호환성

sort 명령어는 소나 4.0 이전 버전부터 제공되었습니다.