Skip to main content
이 설정은 system.settings에서 확인할 수 있으며 소스 코드에서 자동 생성됩니다.

aggregate_function_input_format

입력 형식이 AggregateFunction 타입의 컬럼을 읽는 방식입니다. 가능한 값:
  • state — 출력 형식이 기록하는 형태 그대로의, 집계 함수의 직렬화된 상태입니다(기본값).
  • value — 집계 함수 인수의 값이며, 인수가 여러 개이면 인수들의 tuple입니다. 이 값이 집계되어 상태가 만들어집니다.
  • array — 위 value 옵션에서 설명한 값들의 배열입니다. 배열의 모든 원소가 집계되어 상태가 만들어집니다.
value 및 array 모드에서 포맷은 해당 컬럼을 값 타입의 컬럼처럼 읽습니다. 즉, AggregateFunction(f, T)는 T로, AggregateFunction(f, T1, T2)는 Tuple(T1, T2)로, array 모드에서는 그 타입의 Array로 읽습니다. 값은 해당 포맷이 그 타입에 대해 사용하는 표현 방식으로 기록됩니다. 텍스트 형식에서는 숫자나 문자열, JSON 포맷에서는 JSON 배열, RowBinary나 Native에서는 해당 타입의 이진 인코딩, Parquet에서는 해당 타입의 컬럼과 같은 식입니다. 이는 모든 입력 형식에 적용되며, Array, Tuple, Map 안에 중첩된 AggregateFunction에도 적용됩니다. 예시 다음과 같은 구조의 테이블이 있다고 가정합니다:
aggregate_function_input_format = 'value'일 때:
aggregate_function_input_format = 'array'로 설정한 경우:
참고: value 및 array 포맷은 삽입 시 값을 생성하고 집계해야 하므로 기본 state 포맷보다 느립니다.

aggregate_functions_null_for_empty

쿼리의 모든 집계 함수에 -OrNull 접미사를 추가하도록 재작성하는 기능을 활성화하거나 비활성화합니다. SQL 표준 호환성을 위해 이 설정을 활성화하세요. 이 기능은 일관된 결과를 얻기 위해 쿼리 재작성(count_distinct_implementation 설정과 유사함) 방식으로 구현되며, 특히 분산 쿼리에서 유용합니다. 가능한 값:
  • 0 — 비활성화됨.
  • 1 — 활성화됨.
예시 다음 집계 함수가 포함된 쿼리를 살펴보겠습니다:
aggregate_functions_null_for_empty = 0으로 설정하면 다음과 같은 결과가 나옵니다:
aggregate_functions_null_for_empty = 1로 설정하면 결과는 다음과 같습니다:
마지막 수정일 2026년 9월 26일