quantileBFloat16

quantileBFloat16

bfloat16 숫자로 이루어진 표본의 근사 분위수를 계산하는 집계 함수예요. v21.7.0부터 도입되었어요.

출처: 문서

본문

bfloat16 숫자로 이루어진 표본의 근사 분위수를 계산해요. bfloat16은 부호 비트 1개, 지수 비트 8개, 가수 비트 7개로 이루어진 부동소수점 데이터 타입이에요. 이 함수는 입력 값을 32비트 부동소수점으로 변환하고 가장 중요한 16비트를 취해요. 그런 다음 bfloat16 분위수 값을 계산하고, 결과를 제로 비트를 덧붙여 64비트 부동소수점으로 변환해요. 이 함수는 최대 상대 오차 0.78125%(평균 상대 오차 약 0.27%)를 갖는 빠른 분위수 추정기이며, 이는 bfloat16의 7비트 가수 정밀도에 해당해요.

구문 (Syntax)

quantileBFloat16[(level)](expr)

별칭(Aliases): medianBFloat16

파라미터 (Parameters)

  • level — 선택사항이에요. 분위수의 수준이에요. 가능한 값은 0부터 1까지의 범위예요. 기본값: 0.5. Float*

인자 (Arguments)

  • expr — 숫자 데이터 타입, Date 또는 DateTime를 결과로 내는 컬럼 값에 대한 표현식이에요. (U)Int* 또는 Float* 또는 Date 또는 DateTime

반환 값 (Returned value)

지정된 수준의 근사 분위수예요. DateDateTime 입력의 경우 출력 형식이 입력 형식과 일치해요. Float64 또는 Date 또는 DateTime

예시 (Examples)

bfloat16으로 분위수 계산:

CREATE TABLE example_table (a UInt32, b Float32) ENGINE = Memory;
INSERT INTO example_table VALUES (1, 1.001), (2, 1.002), (3, 1.003), (4, 1.004);

SELECT quantileBFloat16(0.75)(a), quantileBFloat16(0.75)(b) FROM example_table;

결과:

┌─quantileBFloat16(0.75)(a)─┬─quantileBFloat16(0.75)(b)─┐
│                         3 │                         1 │
└───────────────────────────┴───────────────────────────┘

참고 (See Also)

  • median
  • quantiles

더 알아보기 (Learn more)