적용 대상:yes Databricks Runtime 18.1 이상으로 ![]()
지정된 표준 수준을 사용하여 벡터를 단위 길이로 정규화합니다.
문법
vector_normalize(vector [, degree ])
Arguments
-
vector:
ARRAY<FLOAT>벡터를 나타내는 식입니다. -
degree: 선택 사항입니다.
FLOATnorm 형식을 지정하는 값입니다. 기본값은 2.0(유클리드 표준)입니다. 지원되는 값:- 1.0 — L1 norm: 구성 요소의 절대값 합계가 1입니다.
- 2.0 — L2 norm: 유클리드 길이 1
-
float('inf')- L∞ norm: 최대 절대 구성 요소는 1입니다.
Returns
ARRAY<FLOAT> 입력과 방향이 같지만 지정된 각도에서 표준 1.0을 사용하여 정규화된 벡터를 나타내는 값입니다.
빈 벡터에 대한 빈 배열을 반환합니다. 벡터에 0 표준(예: 모든 0)이 있거나 입력이 포함되었는지 NULL 여부를 반환 NULL 합니다NULL.
Notes
- 만
ARRAY<FLOAT>지원됩니다. 다른 형식(예:ARRAY<DOUBLE>오류 발생)ARRAY<DECIMAL>. 지원되지 않는 값은degreeINVALID_VECTOR_NORM_DEGREE 발생합니다. - L2 정규화는 조밀한 포함 워크로드의 표준입니다.
오류 조건
예제
-- L2 normalization (Euclidean) - 3-4-5 triangle
> SELECT vector_normalize(array(3.0f, 4.0f), 2.0f);
[0.6, 0.8]
-- Verify L2-normalized vector has unit norm
> SELECT vector_norm(vector_normalize(array(1.0f, 2.0f, 3.0f), 2.0f), 2.0f);
1.0
-- Zero vector returns NULL
> SELECT vector_normalize(array(0.0f, 0.0f, 0.0f), 2.0f);
NULL